> 웹 프론트엔드 > JS 튜토리얼 > JavaScript 사용자 정의 배열 정렬 방법_javascript 기술

JavaScript 사용자 정의 배열 정렬 방법_javascript 기술

WBOY
풀어 주다: 2016-05-16 16:14:15
원래의
1476명이 탐색했습니다.

이 기사의 예에서는 JavaScript 사용자 정의 배열 정렬 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.

배열에는 사용하기 더 편리한 자체 정렬 기능이 있습니다. 우리가 분명히 알아야 할 한 가지는 정렬의 기초가 매개변수를 전달하지 않으면 문자 인코딩 순서에 따라 정렬됩니다( 유니코드 인코딩).

var a=["3","2","1"]; 
console.log(a[0].charCodeAt(0)); // 51 
console.log(a[1].charCodeAt(0)); // 50 
console.log(a[2].charCodeAt(0)); // 49 
console.log(a.sort());      // ["1", "2", "3"] 
 
var a=["3","你","他"]; 
console.log(a[0].charCodeAt(0)); // 51 
console.log(a[1].charCodeAt(0)); // 20320 
console.log(a[2].charCodeAt(0)); // 20182 
console.log(a.sort());      // ["3", "他", "你"] 
 
var a=["3","11","222"]; 
console.log(a.sort());// ["11", "222", "3"]  
           // 多个字符的时候按照第一个字符的编码
로그인 후 복사

하지만 정렬의 가장 유용한 점은 정렬을 사용자 정의할 수 있다는 것입니다. 이는 객체 배열 정렬과 같은 실제 응용 프로그램에서도 일반적입니다. 예를 들어, 선형 평면의 객체 배열을 특정 필드에 따라 정렬하려는 경우 직접 수행하는 함수를 작성할 수는 있지만 정렬만큼 편리하지는 않습니다.

var list = [ 
  { 
    max:3, 
    avg:2, 
    min:1 
  }, 
  { 
    max:10, 
    avg:15, 
    min:20 
  }, 
  { 
    max:8, 
    avg:5, 
    min:2 
  } 
]; 
// 根据max字段对list对象进行排序,从小到大的顺序 
// x,y就是要比较的数组的单个元素,这里就是list中的一个元素 
// 排序方法主要是要提供一个比较大小的规则,换句话说也就是要说明谁大谁小 
// 返回值为true or false 
function sortByField(x, y) { 
  return x.max - y.max; 
} 
console.log(list.sort(sortByField));
로그인 후 복사

작동 효과는 아래와 같습니다.

이 기사가 모든 사람의 JavaScript 프로그래밍 설계에 도움이 되기를 바랍니다.

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿