배열이 있는데 이름이 아닌 숫자 필드로 정렬하고 싶습니다.두 번째 값으로 2 차원 배열 정렬
var showIt = [
["nuCycleDate",19561100],
["ndCycleDate",19460700],
["neCycleDate",0],
["nlCycleDate",0]
];
감사
배열이 있는데 이름이 아닌 숫자 필드로 정렬하고 싶습니다.두 번째 값으로 2 차원 배열 정렬
var showIt = [
["nuCycleDate",19561100],
["ndCycleDate",19460700],
["neCycleDate",0],
["nlCycleDate",0]
];
감사
당신은 비교 기능 sort
를 제공 할 수 있습니다.
showIt.sort(function(a,b){
return a[1] - b[1];
});
a
및 b
는 배열에서 항목입니다. sort는 0보다 크거나 0보다 크거나 0보다 작은 반환 값을 예상합니다. 첫 번째는 a
이 b
앞에오고, 0이면 두 번째가 같음을 나타냅니다. 마지막 옵션은 b
을 먼저 의미합니다.
This site은 임시 변수에 할당하지 않고 인수 사용을 권장합니다. 대신 다음을 시도하십시오.
showIt.sort(function(a, b) {
var x = a[1];
var y = b[1];
return x - y;
});
그 사이트는 함수 내에서 정렬 콜백 매개 변수 이름을 재사용하는 것에 대해 말하는 것 같습니다. 여기에'a [1] - b [1]'을 사용하지 않을 이유가 없습니다. –
아, 좋은 지적이야. 콜백에는 할당이 없으므로 죄송합니다. –
감사합니다. – Noe