머리말
배열을 정렬하는 것은 특히 백엔드에서 매우 일반적인 요구 사항입니다. 물론 프론트 엔드에는이 요구 사항도 있습니다.
물론 배열 분류를위한 기성품 방법이 있습니다. 정렬 () 메소드입니다.
먼저 이것을 보자.
표준 답변, 정렬 방법
var arr = [45,98,67,57,85,6,6,58,83,48,18]; console.log ( 'Original Array'); console.log (arr); console.log ( 'sort method'); console.log (arr.sort (a, b) {console.log ( 'sort.)); small '); console.log (Ar작업 결과는 다음과 같습니다.
여기서 종류는 기본적으로 알파벳순으로 분류됩니다. 따라서 숫자를 정렬하면 사용자 정의 기능이 필요합니다.
위의 코드와 같이
함수 (a, b) {return ab}
이것은 소형에서 큰 정렬 기능입니다. 매우 간단 해 보이지만 이해가 안 돼서 내 아이디어에 따라 정렬을 구현하겠습니다 ~
내 대답, 방법 정렬
var arr = [45,98,67,57,85,6,6,6,58,83,48,18]; console.log ( 'Original Array'); console.log ( 'arr'); console.log ( 'small ~ marge'); console.log ( 'arrsortmintomax (arr)); small '); console.log ('arrsortmaxtomin (arr)); // 배열 함수에서 가장 작은 값을 찾으십시오 arrminnum (arr) {var minnum = index = -1; for (var i = 0; i <arr.length; i ++) {if (arr [i] <minnum) {index =}; { "minnum": minnum, "index": index};} // 배열 함수에서 작은 것에서 크게 정렬 한 결과를 반환합니다. {arrnew.push (arrminnum (arrold) .minnum); arrold.splice (arrminnum (arrold). index, 1)}; return (arrnew);} // 배열 함수에서 가장 큰 값을 찾으십시오. (arr [i]> maxnum) {maxnum = arr [i]; index = i;}}; return { "maxnum": maxnum, "index": index};} // 배열 함수에서 크게 정렬 된 결과를 arrsortmaxtomin (arr) {var arrnew = [] arrold = arr.slice (0); i ++) {arrnew.push (arrmaxnum (arrold) .maxnum); arrold.splice (arrmaxnum (Arrold). index, 1);}; console.log (arr) return (arrnew);}작업 결과는 아래 그림에 나와 있습니다
내 방법의 지식 포인트
1. 함수가 여러 데이터 조각을 반환 해야하는 경우 JSON 객체 형식을 사용하는 것이 더 편리합니다. 예를 들어, 반환 { "Minnum": Minnum, "index": index} 위;
2. 배열을 복사하기 위해 var arrold = ARR 메소드를 사용하고 Arrold에서 작동하면 ARR의 원래 배열에 영향을 미칩니다. JavaScript는 원시 유형 및 기준 유형 (Java 및 C#과 유사)으로 나뉩니다. 배열은 참조 유형입니다. Arrold는 참조를 얻으므로 Arrold 로의 수정이 ARR에 영향을 미칩니다 .
배열 복사 방법 (i) var arrold = arr.concat (); , 원리 : concat () 함수는 다중 배열을 스플 라이스하는 데 사용되는 함수입니다. 이 작문 방법은 스 플라이 싱 자체와 같습니다. 즉, 복사.
배열 복사 방법 (2) var arrold = arr.slice (0). 원리 : slice () 함수는 배열을 가로 채는 함수입니다. 0으로 값을 설정하는 것은 복사와 동일합니다.
3. 스플 라이스 () 메소드는 배열의 요소를 삽입, 삭제 또는 교체하는 데 사용됩니다. 배열에서 삭제 된 위치를 사용하는 기능은 다음과 같습니다.
4. 내 방법과 정렬 방법의 차이.
내 메소드는 원래 배열을 수정하지 않지만 정렬은 원래 배열을 기반으로 수정합니다.
내 메소드는 새 배열을 반환하고 원래 배열이 사라지거나 변경되지 않았습니다. (위의 문장과 같은 것 같습니다 ...)
5. 분류는 프로그래밍에서 매우 기본적이고 매우 중요한 지식 지점입니다. 정렬 정렬은 많은 양의 데이터를 실행할 때 상대적으로 낮습니다. 물론 내 방법의 효율도 매우 낮습니다.
이 기사는 http://blog.csdn.net/fungleo/article/details/51555590에서 재현됩니다
위의 것은 JavaScript 정렬 배열 정렬 메소드의 전체 내용과 편집기가 소개 한 자체 이식 정렬 방법입니다. 나는 그것이 당신에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨주세요. 편집자는 제 시간에 답장을 드릴 것입니다. Wulin Network 웹 사이트를 지원해 주셔서 대단히 감사합니다.