배열 Array.sort()정렬 방법

2906 단어 jsarraysort정렬
배열 정렬
sort 비교 횟수,sort 용법,sort 상용
묘사 하 다.
방법 sort()는 원래 배열 에서 배열 요 소 를 정렬 합 니 다.즉,정렬 할 때 새로운 배열 복사 본 을 만 들 지 않 습 니 다.방법 sort()를 호출 할 때 인 자 를 사용 하지 않 으 면 알파벳 순서(더 정확히 말 하면 문자 인 코딩 순서)로 배열 의 요 소 를 정렬 합 니 다.이 를 실현 하려 면 먼저 배열 의 요 소 를 문자열 로 변환 해 야 한다(필요 하 다 면).
다른 순서 로 정렬 하려 면 비교 함 수 를 제공 해 야 합 니 다.이 함 수 는 두 개의 값 을 비교 한 다음 에 이 두 값 의 상대 적 인 순 서 를 설명 하 는 숫자 를 되 돌려 줍 니 다.비교 함 수 는 두 개의 매개 변수 a 와 b 를 가 져 야 합 니 다.그 반환 값 은 다음 과 같 습 니 다.
평가 기준 에 따 르 면 a 가 b 보다 작 으 면 정렬 된 배열 에 a 가 b 보다 나타 나 기 전에 0 보다 작은 값 을 되 돌려 줍 니 다.
a 가 b 라면 0 으로 돌아 갑 니 다.
a 가 b 보다 크 면 0 이상 의 값 을 되 돌려 줍 니 다.
배열 의 undefined 요 소 는 모두 배열 의 끝 에 배열 되 어 있 습 니 다.사용자 정의 정렬 함 수 를 제공 하 더 라 도 undefined 값 이 제공 하 는 orderfunc 에 전달 되 지 않 기 때 문 입 니 다.
JavaScript 에서 배열 의 sort()방법 은 주로 배열 의 요 소 를 정렬 하 는 데 사 용 됩 니 다.그 중에서 sort()방법 은 선택 할 수 있 는 매개 변수 가 있 습 니 다.그러나 이 매개 변 수 는 함수 여야 합 니 다.배열 이 sort()방법 을 호출 할 때 전송 되 지 않 으 면 알파벳 순서(문자 인 코딩 순서)로 배열 의 요 소 를 정렬 합 니 다.다른 기준 에 따라 정렬 하려 면 하나의 매개 변 수 를 전달 하고 함수 로 해 야 합 니 다.이 함 수 는 두 개의 값 을 비교 하고 이 두 값 의 상대 적 인 순 서 를 설명 하 는 숫자 를 되 돌려 줍 니 다.
1.숫자 배열 을 작은 것 에서 큰 것 으로 정렬 합 니 다.
코드:

var arr = [22,12,3,43,56,47,4];
arr.sort();
console.log(arr); // [12, 22, 3, 4, 43, 47, 56]
arr.sort(function (m, n) {
 if (m < n) return -1
 else if (m > n) return 1
 else return 0
});
console.log(arr); // [3, 4, 12, 22, 43, 47, 56]
2.문자열 배열 에 대해 대소 문 자 를 구분 하지 않 는 알파벳 순 서 를 실행 합 니 다.
코드:

var arr = ['abc', 'Def', 'BoC', 'FED'];
console.log(arr.sort()); // ["BoC", "Def", "FED", "abc"]
console.log(arr.sort(function(s, t){
 var a = s.toLowerCase();
 var b = t.toLowerCase();
 if (a < b) return -1;
 if (a > b) return 1;
 return 0;
})); // ["abc", "BoC", "Def", "FED"]
3.대상 을 포함 하 는 배열 의 순 서 는 대상 의 연령 에 따라 크 고 작은 순서 로 배열 해 야 한다.
코드:

var arr = [{'name': '  ', age: 26},{'name': '  ', age: 12},{'name': '  ', age: 37},{'name': '  ', age: 4}];
var objectArraySort = function (keyName) {
 return function (objectN, objectM) {
 var valueN = objectN[keyName]
 var valueM = objectM[keyName]
 if (valueN < valueM) return 1
 else if (valueN > valueM) return -1
 else return 0
 }
}
arr.sort(objectArraySort('age'))
console.log(arr) // [{'name': '  ', age: 37},{'name': '  ', age: 26},{'name': '  ', age: 12},{'name': '  ', age: 4}]
위 에서 말 한 것 은 소 편 이 소개 한 자 바스 크 립 트 의 배열 Array.sort()정렬 방법 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.소 편 은 제때에 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기