Javascript 如何获取与另一个给定值匹配的JSON对象的键值?
我有一个JSON:Javascript 如何获取与另一个给定值匹配的JSON对象的键值?,javascript,json,Javascript,Json,我有一个JSON: var projects_array = new Array( {name:"myName1", id:"myid1", index:1}, {name:"myName2", id:"myid2", index:2}, {name:"myName3", id:"myid3", index:3}, ); 我需要获取与特定“id”值匹配的对象的“索引”值。因此,如果我的“id”是“myid1”,那么y将得到“1” 以下是我的部分代码: var myid = $(this
var projects_array = new Array(
{name:"myName1", id:"myid1", index:1},
{name:"myName2", id:"myid2", index:2},
{name:"myName3", id:"myid3", index:3},
);
我需要获取与特定“id”值匹配的对象的“索引”值。因此,如果我的“id”是“myid1”,那么y将得到“1”
以下是我的部分代码:
var myid = $(this).attr('id'); //this is the id value
projects_array.map(function (proj) {
if (proj.id == myid) {
return proj // returns Undefined
}
});
最后,我需要在一个变量中指定该值以供以后使用,谢谢:)我认为您成功地选择了索引,但当您返回该值时,它将进入一个新数组(“映射”在那里,如果您愿意的话)。试着这样做:
var myproj;
var myindex;
projects_array.map(function (proj) {
if (proj.id == myid) {
myproj = proj;
myindex = proj.index;
}
});
代码提示:切勿使用
new Array()
。相反,使用数组文字:[1,2,3]
@minitech,我以前从SO那里得到过这个建议,但是为什么,你能给出一些想法吗?@Sheikheera:它更短,效率更高一点,是标准的,人们可以替换数组
来表达他们想要表达的意思。另外,事实上,新数组(5)
不会为您提供[5]
,而是[,,,]
。它工作得非常好。。谢谢你们:)我真的很感激所有的答案和提示!