刚开始学习Javascript和Angular。 我在数组中有一个数组。
这是我的数组结构:
[[object1,object2],[object3,object 4]];
我想从object2和object 4获得最高值。
当我只使用一个阵列时
Math.max.apply(Math, array.map(function(o){return o.collectionID;}));
是否可以,如何从数组中的数组中检索最高值?
答案 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);