Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从对象数组中获取元素?_Javascript_Underscore.js - Fatal编程技术网

Javascript 如何从对象数组中获取元素?

Javascript 如何从对象数组中获取元素?,javascript,underscore.js,Javascript,Underscore.js,fkTableArr1d变成: [对象,对象,对象] 1对象是对象{id:“5”,标签:“fuel”} 现在,我应该如何获得带有标签fuel的元素的ID 下面的一个不起作用: var fkTableArr1d = new Array(); fkTableArr1d = _.map(fkTableArr2d, function(list, iterator, context) { return { "id " : list[0], "label " : list[

fkTableArr1d
变成:
[对象,对象,对象]


1对象是
对象{id:“5”,标签:“fuel”}

现在,我应该如何获得带有标签
fuel
的元素的ID

下面的一个不起作用:

var fkTableArr1d = new Array();

fkTableArr1d = _.map(fkTableArr2d, function(list, iterator, context) {          
      return { "id " : list[0], "label " : list[1] };
    });

使用以下任意代码段:

第1段:

第2段:

看起来您正在寻找:

查看列表并返回与所有属性匹配的第一个值 属性中列出的键值对


演示:

Overdriven Fall,您使用值
'fuel'
作为索引,而不是查找哪个数组对象具有此值。检查我的答案。当我尝试(fkTableArr1d中的x)console.log(fkTableArr1d[x].id)的
时,我得到了
未定义的
fkTableArr1d[x]['id']
x
之前需要
var
。现在您正在将其定义为全局。@OverdrivenFall请检查我提供的小提琴。小提琴演奏得很好。@Pavlo,请检查小提琴<仅当本地声明
x
时,才需要code>var
。但是这里没有这样的限制。@Pavlo我完全同意你的看法。但是我没有想太多来演示这一点。它是有效的,我的数组中有一个错误(我用
“id”:list[0],“label”:list[1]
而不是
id:list[0],“label:list[1]
)使用字符串文字(带引号的)和“raw”标识符在这里应该没有区别,因为对于字符串文本,它无法识别
.id
.label
console.log(fkTableArr1d['fuel']);
var id = 0;
if(fkTableArr1d.label = 'fuel') id = fkTableArr1d.id;
fkTableArr1d =[{id : "5", label : "fuel1"}, {id : "6", label : "fuel"}, {id : "4", label : "fuel2"}];
for(x in fkTableArr1d)
    if(fkTableArr1d[x].label == 'fuel')
        alert(fkTableArr1d[x]['id']);//syntax1 for accessing object member. alerts '6'.
fkTableArr1d =[{id : "5", label : "fuel1"}, {id : "6", label : "fuel"}, {id : "4", label : "fuel2"}];
for(x in fkTableArr1d)
    if(fkTableArr1d[x].label == 'fuel')
        alert(fkTableArr1d[x].id);//syntax2 for accessing object member. alerts '6'.
_.findWhere(fkTableArr1d, {label : "fuel"});