给定以下数组:
var arr = [ { id: '123', numbers: [123,456,789] }, { id: '456', numbers: [6543,344,34534] }]
我如何获得包含123
在数字数组中的对象的父对象。
例如。我想搜索'123'
并获得:
{ id: '123', numbers: [123,456,789] }
我试过使用:
_.find(arr, 123);
_.findKey(arr,123);
可以使用_map完成吗?https://lodash.com/docs#map
由于您已经在使用lodash
,因此可以使用collection.find
。
_.find(collection, [predicate=_.identity], [fromIndex=0])
[predicate=_.identity]
是针对每次迭代执行的函数。因此,不要传递123
,而是传递此函数。
注意:这可以使用数组函数来完成,但是它们存在兼容性问题,并且由于您已经在使用lodash,据我所知,这种方法会更适合。
var arr = [{
id: '123',
numbers: [123, 456, 789]
}, {
id: '456',
numbers: [6543, 344, 34534]
}]
// ES6 version
var r = _.find(arr, x => x.id == '123');
// ES5 version
var r1 = _.find(arr, function(el){ return el.id == '123' });
console.log(r, r1)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.14.1/lodash.min.js"></script>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句