2014-06-12 1 views
0

나는 이와 같은 객체 배열을 가지고있다. 나는 이걸 어디에서 시작해야할지 모르겠다. 그래서 나는 어떤 시도도 게시하지 않았다. 오른쪽에있는 찔림조차도 많은 도움이 될 것입니다!Javascript 스택 정렬

내 습도와 온도 사이의 데이터 정렬 (50:50 무게 기준)이 이상적인 (가장 높은 순위가 가장 높은) 습도와 습도는 40 습도입니다.

이것은 내 데이터입니다.

Array[5] 
    0: Object 
    humidity: 65 
    name: "HLLM" 
    temp: 25 
    __proto__: Object 
    1: Object 
    humidity: 61 
    name: "LICD" 
    temp: 27 
    __proto__: Object 
    2: Object 
    humidity: undefined 
    name: "EW3448" 
    temp: 28 
    __proto__: Object 
    3: Object 
    humidity: 42 
    name: "HLLT" 
    temp: 29 
    __proto__: Object 
    4: Object 
    humidity: 30 
    name: "LMML" 
    temp: 30 

친절 감사, 해리

+0

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort를 참조하십시오? 나는 당신의 정렬 기준/방법을 이해하지 못합니다. –

+1

다음은 시작입니다. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort –

+0

위의 네 번째 결과는 "검색 배열을 자바 스크립트로" – Liam

답변

0

사용하는 기능과 자바 스크립트 sort 방법.

var data = [ 
    { 
    humidity: 65, 
    name: "HLLM", 
    temp: 25 
    }, 
    { 
    humidity: 61, 
    name: "LICD", 
    temp: 27 
    }, 
    { 
    humidity: 70, 
    name: "TEST", 
    temp: 28 
    } 
] 

data.sort(function(a, b) { 
    // Takes the average of humidity and temperature 
    // You can use some other system e.g. calculating absolute difference between 60 and 40 and so on 
    return (a.humidity + a.temp)/2 - (b.humidity + b.temp)/2; 
}); 

이렇게하면 최저 온도/습도/최고 온도/습도로 데이터를 정렬합니다.

무엇가 완료 정렬 순서가 될 것입니다, 당신은 여기에 제시된 데이터 제공, 그래서

+0

이것은 정말로 OP가 이것을 어떻게 원하는가? 습도 = 60, 온도 = 40이 최상위라고 말하기 때문에 나는 그렇게하지 않습니다. 이렇게하면 같은 습도/온도 조합이 모두 같은 레벨에 100이됩니다. –