在Underscore中通过id从数组中查找对象

时间:2017-05-29 12:35:47

标签: jquery underscore.js

我有一个对象数组,如下所示:

var jsonarray = [{
    "id": "6",
    "equipment_img": "http://xxx:9696/XXX/images (1)_410.jpg"
}, {
    "id": "7",
    "equipment_img": "http://xxx:9696/XXX/5.jpg"
}, {
    "id": "8",
    "equipment_img": "http://xxx:9696/XXX/1_937.jpg"
}, {
    "id": "9",
    "equipment_img": "http://xxx:9696/XXX/4_335_631.jpg"
}];

我需要根据ID 7获得equipment_img值。

var niches = _.pluck(jsonarray, 'id:7');

console.log(niches);

如果有可能,请告诉我?

http://jsfiddle.net/vEDcx/17/

1 个答案:

答案 0 :(得分:0)

你不需要下划线来简洁地执行此操作。使用Array.prototye.filter(ES5):

var niches = jsonarray.filter(function(el) { el.id === 7 })[0].equipment_img

或Array.prototype.find(ES6):

var niches = jsonarray.find(function(el) { el.id === 7 }).equipment_img

(在任何一种情况下,你可能想在尝试阅读.equipment_img之前检查元素是否存在)