>웹 프론트엔드 >JS 튜토리얼 >자바스크립트 배열 정렬 방법이란 무엇입니까?

자바스크립트 배열 정렬 방법이란 무엇입니까?

青灯夜游
青灯夜游원래의
2021-06-07 17:27:504947검색

javascript 정렬 방법: 1. 배열의 요소를 정렬하는 데 사용되는 sort() 메서드, 구문 "arrayObject.sort(sortby)" 2. 배열의 요소 순서를 바꾸는 데 사용되는 reverse() 메서드, 즉, 역순, 구문 "array.reverse()"입니다.

자바스크립트 배열 정렬 방법이란 무엇입니까?

이 튜토리얼의 운영 환경: Windows 7 시스템, JavaScript 버전 1.8.5, Dell G3 컴퓨터.

js

1. sort() 메소드

sort() 메소드는 배열의 요소를 정렬하는 데 사용됩니다.

예:

var ar1=[2,4,6,8,1,3]
var ar2=[2,16,36,8,56]
ar1.sort()
ar2.sort()//这个方法值只能排序第一位数  也可以字符串进行排序
console.log(ar1)//[1,2,3,4,6,8]
console.log(ar2)//[16, 2, 36, 56, 8]

ar2.sort(function(a,b){
    return a-b //a-b为升序
    //return b-a  //b-a为降序
})
console.log(ar2)//[2, 8, 16, 36, 56]

2, reverse() 메서드

reverse() 메서드는 배열 요소의 순서를 바꾸는 데 사용됩니다.

예:

var ar1=[2,4,6,8,1,3]
ar1.reverse()//此方法为倒序,也就是反过来。并不会进行大小排序
console.log(ar1)//[3, 1, 8, 6, 4, 2]

확장 지식:

버블 정렬

//每轮依次比较相邻两个数的大小,后面比前面小则交换
var b=0//设置用来调换位置的值
var a=[1,9,33,2,5,34,23,98,14]//冒泡排序
for(var i=0;i<a.length;i++){
    for(var j=0;j<a.length;j++){
        if(a[j]>a[j+1]){
            b=a[j]
            a[j]=a[j+1]
            a[j+1]=b
        }
    }
}
console.log(a)//[1, 2, 5, 9, 14, 23, 33, 34, 98]

선택 정렬

//拿第一个数与后面数相比较,如果比后面的数大则交换
//拿第二个数与后面的数比较,如果比后面的数大则交换
//直到比较到倒数第二个数,最后一个数不用比较
var b=0//设置用来调换位置的值
var a=[1,9,33,2,5,34,23,98,14]//冒泡排序
for(var i=0;i<a.length;i++){
    for(var j=i;j<a.length;j++){
        if(a[j]>a[j+1]){
            b=a[j]
            a[j]=a[j+1]
            a[j+1]=b
        }
    }
}
console.log(a)//[1, 2, 5, 9, 14, 23, 33, 34, 98]

빠른 정렬

  • 먼저 배열에서 숫자를 기본 번호로 가져옵니다

  • 파티션 프로세스, Put 비교 이 숫자보다 큰 모든 숫자는 오른쪽에, 그보다 작거나 같은 모든 숫자는 왼쪽에 놓습니다

  • 숫자가 하나만 남을 때까지 왼쪽과 오른쪽 간격에 대해 두 번째 단계를 반복합니다. 각 간격

function quickSort(arr, i, j) {
  if(i < j) {
    let left = i;
    let right = j;
    let mid = Math.floor((left+right)/2);
    let temp = arr[left];
    arr[left] = arr[mid];
    arr[mid] = temp;
    let pivot = arr[left];
    while(i < j) {
      while(arr[j] >= pivot && i < j) {  // 从后往前找比基准小的数
        j--;
      }
      if(i < j) {
        arr[i++] = arr[j];
      }
      while(arr[i] <= pivot && i < j) {  // 从前往后找比基准大的数
        i++;
      }
      if(i < j) {
        arr[j--] = arr[i];
      }
    }
    arr[i] = pivot;
    quickSort(arr, left, i-1);
    quickSort(arr, i+1, right);
    return arr;
  }
}

자세히 보기 프로그래밍 관련 지식을 보려면 프로그래밍 비디오를 방문하세요! !

위 내용은 자바스크립트 배열 정렬 방법이란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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