javascript - 获取数组内数组的最大值

标签 javascript angularjs

刚刚开始学习 Javascript 和 Angular。 我有一个数组中的数组。

这是我的数组结构:

[[对象1,对象2],[对象3,对象4]];

我想从对象 2 和对象 4 中获取最高值。

当我只有一个数组时,我使用了

Math.max.apply(Math, array.map(function(o){return o.collectionID;}));

是否可能以及如何从数组中的数组中检索最高值?

最佳答案

您可以通过Array#reduce收集所有id对于任何深度数组。

然后仅在设置的地方获取collectionID

var array = [[{}, { collectionID: 1 }], [{}, { collectionID: 2 }], [{}, { collectionID: 3 }], [{ collectionID: 42 }, { collectionID: 4 }]],
    max = Math.max.apply(Math, array.reduce(function iter(r, a) {
        return r.concat(Array.isArray(a) ? a.reduce(iter, []) : 'collectionID' in a ? a.collectionID : []);
    }, []));
    
console.log(max);

关于javascript - 获取数组内数组的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42997528/

相关文章:

javascript - for 循环内的 AngularJS 作用域

angularjs - Angular Material md dialog locals 给出未知提供者错误

javascript - Laravel 和 Angular js 文件上传

javascript - CSS HTML 最后一个 child 不工作?

javascript - signalR 未定义

javascript - 切换隐藏和显示

javascript - 在 JavaScript 中用新值替换 this()

javascript - AngularJS 不计算表达式

javascript - 在循环返回之前等待 http 成功 - Angular 4

javascript - 将使用 Javascript/Jquery 构建的 Web 应用程序的一部分转换为 Angular 2