JS 배열 정렬

不言
不言원래의
2018-04-03 18:01:482681검색


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  //m < n 返回-1是从小到大排序,返回1是从大到小排序
 else if (m > n) return 1
 else return 0});
console.log(arr); // [3, 4, 12, 22, 43, 47, 56],按照数值大小排序

2. 문자열 배열에서 대소문자를 구분하지 않는 알파벳 정렬을 수행합니다.

var arr = [&#39;abc&#39;, &#39;Def&#39;, &#39;BoC&#39;, &#39;FED&#39;];
console.log(arr.sort()); // ["BoC", "Def", "FED", "abc"],按首个字母在ASIIC中出现的位置排序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 = [{&#39;name&#39;: &#39;张三&#39;, age: 26},{&#39;name&#39;: &#39;李四&#39;, age: 12},{&#39;name&#39;: &#39;王五&#39;, age: 37},{&#39;name&#39;: &#39;赵六&#39;, 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(&#39;age&#39;))
console.log(arr) // [{&#39;name&#39;: &#39;王五&#39;, age: 37},{&#39;name&#39;: &#39;张三&#39;, age: 26},{&#39;name&#39;: &#39;李四&#39;, age: 12},{&#39;name&#39;: &#39;赵六&#39;, age: 4}]

                                                                                                   배열의 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  //m < n 返回-1是从小到大排序,返回1是从大到小排序
 else if (m > n) return 1
 else return 0});
console.log(arr); // [3, 4, 12, 22, 43, 47, 56],按照数值大小排序

2. 문자열 배열에서 대소문자를 구분하지 않는 알파벳 정렬을 수행합니다

var arr = [&#39;abc&#39;, &#39;Def&#39;, &#39;BoC&#39;, &#39;FED&#39;];
console.log(arr.sort()); // ["BoC", "Def", "FED", "abc"],按首个字母在ASIIC中出现的位置排序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 = [{&#39;name&#39;: &#39;张三&#39;, age: 26},{&#39;name&#39;: &#39;李四&#39;, age: 12},{&#39;name&#39;: &#39;王五&#39;, age: 37},{&#39;name&#39;: &#39;赵六&#39;, 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(&#39;age&#39;))
console.log(arr) // [{&#39;name&#39;: &#39;王五&#39;, age: 37},{&#39;name&#39;: &#39;张三&#39;, age: 26},{&#39;name&#39;: &#39;李四&#39;, age: 12},{&#39;name&#39;: &#39;赵六&#39;, age: 4}]

관련 권장 사항:

js 배열 작동 방법 중복 제거

JS 배열 지식 요약 및 공유

위 내용은 JS 배열 정렬의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.