Js / Lodash获取数组值的父对象

奇克西

给定以下数组:

var arr = [   { id: '123', numbers: [123,456,789] },  { id: '456', numbers: [6543,344,34534] }]

我如何获得包含123在数字数组中的对象的父对象

例如。我想搜索'123'并获得:

 { id: '123', numbers: [123,456,789] }

我试过使用:

https://lodash.com/docs#find

 _.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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

用lodash或JS按值对对象数组进行排序

如何基于JS中的子值获取父JSON对象

使用 lodash 或 vanilla js 重新排序包含父/子关系的对象数组

JS使用lodash根据对象值对对象的高级数组进行排序

在JS中获取已过滤对象数组的最大值

lodash:从对象数组获取对象值

JS 获取和使用父对象的变量

JS - 对象属性不获取分配的值,而只获取数组的最后一个值

反应js,获取同级或父级值

JS:从嵌套数组中删除对象并返回父数组

使用下划线js或lodash从数组中删除对象

使用lodash.js删除对象数组中的重复项

使用lodash查找具有真实值的JS对象的属性

如何从js数组中获取json对象

使用JS获取数组内部对象的索引

firebase firestore从文档获取对象/数组-js

如何使用下划线 js 从 2 个对象数组中获取不同的值

从查询的返回数组中获取对象的值(Parse.com + Node.js)

从 JS 中的多个对象数组中获取唯一值 - javascript 中的正确方法

如何从对象数组中获取最高的 3 个值 - ES6/JS

节点js对象数组公共值总和

在对象数组 js 中搜索值

数组对象值未在js中计数

如何将 v-model 的数组值获取到 Vue.Js 脚本中的数组对象?

普通JS或Lodash-用其他对象中的值替换对象值

获取Node.js中重复对象的对象数组indexOf

如何从嵌套的对象数组中获取每个父级的值

使用lodash或vanila js将不同的数组转换为对象数组

JS对象数组可过滤出数组中的值