Javascript Js/Lodash获取数组值的父对象
给定以下数组:Javascript Js/Lodash获取数组值的父对象,javascript,lodash,Javascript,Lodash,给定以下数组: var arr = [ { id: '123', numbers: [123,456,789] }, { id: '456', numbers: [6543,344,34534] }] 如何获取数字数组中包含123的对象的父对象 我想搜索'123'并获得: { id: '123', numbers: [123,456,789] } 我试过使用: 这可以用地图来完成吗? @gcampbell是正确的 翻译成JavaScript,应该是 _.find(arr, func
var arr = [ { id: '123', numbers: [123,456,789] }, { id: '456', numbers: [6543,344,34534] }]
如何获取数字数组中包含123
的对象的父对象
我想搜索'123'
并获得:
{ id: '123', numbers: [123,456,789] }
我试过使用:
这可以用地图来完成吗?
@gcampbell是正确的
翻译成JavaScript,应该是
_.find(arr, function(x) {
return x.numbers.includes(123);
});
有关详细信息,请参阅。由于您已经在使用
lodash
,因此可以使用集合。查找
语法:
[predicate=.\identity]
是为每次迭代执行的函数。因此,不要传递123
,而是传递这个函数
注意:这可以通过使用数组函数来实现,但它们存在兼容性问题,而且由于您已经在使用lodash,据我所知,这种方法更适合
var-arr=[{
id:'123',
编号:[123456789]
}, {
id:'456',
编号:[654343444343434]
}]
//ES6版本
var r=u.find(arr,x=>x.id=='123');
//ES5版本
var r1=u2;.find(arr,函数(el){return el.id=='123'});
console.log(r,r1)
在香草中:arr.find(x=>x.id=='123')
对不起,我假设应该是arr.find(x=>x.numbers.includes(123))
?啊,你的例子有误导性,它建议你想找到id=='123'
的物品,我会把它改为我想搜索'12',并得到:@Rajesh My bad。我打算使用.find
,这是一个输入错误。因为您使用的是ES5,所以您可能应该使用indexOf
而不是includes
。
_.find(arr, function(x) {
return x.numbers.includes(123);
});
_.find(collection, [predicate=_.identity], [fromIndex=0])