var brands = [];
brands = [null, {
"id": "1",
"image": "/images/brands/surf_excel.png",
"name": "Surf Excel",
"productCount": "6"
}, {
"id": "2",
"image": "/images/brands/rin.png",
"name": "Rin",
"productCount": "5"
}, {
"id": "3",
"image": "/images/brands/ariel.png",
"name": "Ariel",
"productCount": "4"
}];
现在我想获取id = 3的名称。我尝试过
var data = _.filter(brands, { 'id': 3 });
console.log(data.name);
但是其给定错误无法读取未定义的属性。保证只有一个记录,id = 3,任何人都可以帮我这个忙。如何从上述结构的给定ID中获取名称。
如果有更好的方法来获得相同的结果,那也是值得赞赏的。
正如您指定lodash并使用它的_.filter()
方法。您可以使用通过谓词,该谓词可以使用将在每次迭代中调用的函数。注意,它将返回一个数组。
var data = _.filter(brands, function(brand){
return brand != null && brand.id == 3;
});
console.log(data[0].name);
如果您只想使用一个元素 _.find()
var data = _.find(brands, function(brand){
return brand != null && brand.id == 3;
});
console.log(data.name);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句