从数组中的数组中获取最大值

时间:2017-03-24 10:48:46

标签: javascript angularjs

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

这是我的数组结构:

[[object1,object2],[object3,object 4]];

我想从object2和object 4获得最高值。

当我只使用一个阵列时

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

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

2 个答案:

答案 0 :(得分:0)

以下是非常简单而有力的答案[https://stackoverflow.com/a/23397247/3455035]

答案 1 :(得分:0)

对于任何深度数组,您都可以使用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);