【发布时间】:2018-03-14 05:52:00
【问题描述】:
我有一个包含多个这样的数组的对象
someObj = {
array1:['a', 'b'],
array2:['a', 'b', 'c'],
array3:['a', 'b', 'c', 'd']
}
JS/ES6 中是否有任何内置方法或属性可以返回最大数组或最大数组的长度?请推荐
【问题讨论】:
-
为此,您需要迭代每个值,并比较数组的长度。
-
Math.max(...Object.values(someObj).map(arr => arr.length)) -
@Bergi 使用
Object.values不会更安全,因为 IE 不支持它。我们可以改用maps。 -
@RajaprabhuAravindasamy 谁在乎 IE?安装一个 polyfill,或者 - 更重要的是 - 为扩展语法使用一个转译器。请注意,OP 要求使用 ES6,他可能对 ES8 也很好。
-
@bergi 总是很高兴听到这样的 cmets。如今,所有严肃的 JS 开发都使用转译器。现在已经没有需要编写 ES5 了。这就像编写汇编语言。哦等等,ES5 是网络的汇编语言。不打算写我的人类。它是一个转译器目标。或者应该是。