2017-03-24 2 views
1

Javascript 및 Angular를 배우기 시작합니다. 배열 내에 배열이 있습니다.배열 내의 배열에서 최대 값 얻기

이것은 내 배열 구조이다

[오브젝트 1, object2], [오브젝트 4 오브젝트 (4)];

나는 object2에서 가장 높은 값을 얻고 난 단지 내가

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

이 가능 어떻게 내가 배열에서 가장 높은 값을 검색 할 수 있습니다를 사용하여 하나 개의 배열을했다 때 4.

을 반대 할 배열 안에서?

+0

은'parentArray [N] '에 적용? –

+0

배열 구조를 게시 할 수 있습니까? –

답변

0

입니다.

그런 다음 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);

+0

빠른 응답을 보내 주셔서 감사합니다! 내 배열 형식은 입니다 [[{object}, {collectionID : 1}], [{object}, {collectionID : 2}] 어떻게 배열의 두 번째 객체를 선택할 수 있습니까? – Urban

+0

나는 collectionID 객체가 항상 배열의 두 번째가 아니라는 것을 의미합니다. – Urban

+0

대단히 고마워요! 정말 많이 도와 줬어. – Urban