이 기사는 JS의 배열 정렬 메소드의 원리를 분석합니다. 참조를 위해 공유하십시오. 특정 분석은 다음과 같습니다.
최근에는 바이두 프로젝트에서 분류 어레이를 사용했습니다. 물론, 나는 처음에는 일종의 배열 방법을 자연스럽게 생각했습니다. 이 방법은 다음과 같이 적용하기가 매우 간단합니다.
코드 사본은 다음과 같습니다. window.onload = function () {
var arr = [2,55,55,1,75,3,9,35,70,166,432,678,32,98];
var arr2 = [ "George", "John", "Thomas", "James", "Adrew", "Martin"];
함수 ARRRRSORT (A, B) {
Return AB;
}
Console.log (arr.sort (arrsort)); // 번호 정렬에는 함수가 필요합니다. 크게 정렬하려면 BA를 반환하십시오.
console.log (arr2.sort ()); // 문자가 필요하지 않습니다
}
그러나 나는 왜 정렬 사용이 왜 그렇게 간단하고 그 원칙이 무엇인지 갑자기 생각했습니다. 그래서 나는 배열을 정렬로 정렬하지 않으려 고 노력했습니다. 원칙은 배열의 최소값을 찾고 새 배열에 삽입 한 다음 배열에서 최소값을 삭제 한 다음 배열을 업데이트하고 최소 값을 계속 검색하여 삽입하는 것입니다. 이 루프는 다음과 같습니다.
코드 사본은 다음과 같습니다. window.onload = function () {
var arr = [2,55,55,1,75,3,9,35,70,166,432,678,32,98];
var len = arr.length;
console.log (arr.join ( ","));
var newarr = [];
for (var i = 0; i <len; i ++) {
newarr.push (math.min.apply (null, arr)); // 최소 값을 새 배열에 삽입하십시오
arr.splice (r (arr, math.min.apply (null, arr)), 1); // 삽입 후 즉시 최소값을 삭제하십시오
}
// 배열에서 최소값의 위치를 찾습니다.
함수 r (s, v) {
for (k in s) {
if (s [k] == v) {
리턴 k;
}
}
}
console.log (newarr.join ( ","))
}
추신 : 이것은 내가 쓴 방법 일뿐입니다. 일종의 원리는 이와 같지 않아야합니다. 버블 방법을 사용하여 배열을 정렬 할 수도 있습니다. 코드를 쓰지 않을 것입니다. 인터넷에는 많은 것들이 있습니다. 물론 위의 코드는 숫자 배열 만 정렬합니다. 문자열의 정렬을 위해 문자열의 로컬 컴포지트 방법을 고려할 수 있습니다.
이 기사가 모든 사람의 JavaScript 프로그래밍에 도움이되기를 바랍니다.