javascript - 获取具有给定属性的最大数组长度的对象

标签 javascript lodash

我正在尝试从数组对象中获取具有最长数组长度的属性的对象。

[ {a:[...],...}, {a:[...],...}, ... } ]

Lodash 有 maxBy 来获取具有最大值的 property 对象,但我想检查属性数组的长度。我的对象也有一个 getCount() 函数,但它也不起作用,所以我猜这是因为 lodash 只能检查属性的数值。 lodash 的 maxBy 能否以某种方式使用数组的长度作为条件?

最佳答案

您可以使用 _.maxBy :

let arr = [{a: [1]}, {a: [1,2]}, {a: [1,2,3]}];

// with a lambda
console.log(_.maxBy(arr, obj => obj.a.length));

// with `_.property` iteratee shorthand
console.log(_.maxBy(arr, 'a.length'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.15/lodash.min.js"></script>

关于javascript - 获取具有给定属性的最大数组长度的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57584239/

相关文章:

javascript - 检查选择框是否相同但跳过选择框中的第一项

javascript - Lodash - 按属性值数组过滤嵌套集合

javascript - 使用 lodash 链接 pluck() 和 flatten()

javascript - 如何导出mapBoxGL map ?

javascript - 通过 JavaScript 使用自定义页面打开 CRM 2011 表单后,子网格上的查找和链接不起作用

JavaScript setTimeout() 和数组

javascript - 在 html 表中的两个字段之间画线?

Javascript:数组中的对象,包含带有id的对象

javascript - 覆盖未定义值和空值的 defaultDeep 和 defaults 版本