2017-11-17 3 views
1

중첩 배열 객체가있는 객체 배열이 있습니다.값을 기준으로 정렬 된 배열 객체

[ 
    { 
     "neighborhoods": [ 
      { 
       "origin": "Kenwood", 
       "destination": "Portage Bay" 
      } 
     ] 
    }, 
    { 
     "neighborhoods": [ 
      { 
       "origin": "First Hill", 
       "destination": "Denny-Blaine" 
       } 
     ] 
    }, 
    { 
     "neighborhoods": [ 
      { 
       "origin": "Belltown", 
       "destination": "Eastlake" 
      } 
     ] 
    } 
] 

원본 값에 따라 알파벳순으로 개체를 정렬하려고합니다. 가장 효율적인 방법은 무엇입니까?

+0

검색은 가장 효율적인 ... –

+1

가 어떤'origin' 사용해야 될 것인가? '이웃'이 없다면 어떻게 될까요? –

답변

0

정렬을 위해 원점 값이있는 색인 0에서 객체와 객체를 가져올 수 있습니다. neighborhoods` 1 개체보다 더 포함 된`경우에 유래에

var array = [{ neighborhoods: [{ origin: "Kenwood", destination: "Portage Bay" }] }, { neighborhoods: [{ origin: "First Hill", destination: "Denny-Blaine" }] }, { neighborhoods: [{ origin: "Belltown", destination: "Eastlake" }] }]; 
 

 
array.sort(function (a, b) { 
 
    function getValue(o) { return o.neighborhoods[0].origin; } 
 
    var aa = getValue(a), 
 
     bb = getValue(b); 
 

 
    return aa > bb || -(aa < bb); 
 
}); 
 

 
console.log(array);
.as-console-wrapper { max-height: 100% !important; top: 0; }