이전 글에서는 모든 배열 요소가 지정된 조건을 충족하는지 확인하는 여러 가지 방법을 소개했습니다. 관심이 있으시면 링크를 클릭하여 → "JS 배열 학습: 모든 배열 요소가 지정된 조건을 충족하는지 확인하기"를 읽어보세요. ". 이번에는 배열 정렬에 대해 이야기하고 JavaScript에서 배열 요소를 정렬하는 방법을 소개하겠습니다.
오늘 글의 주요 내용은 특정 규칙에 따라 배열 요소를 정렬하는 것입니다. 더 이상 고민하지 않고 배열 요소를 정렬하는 세 가지 방법이 있습니다.
방법 1: for 루프 사용
for 루프를 사용하여 배열을 정렬하면 버블 정렬이 떠오릅니다. 구현 코드를 살펴보겠습니다.
//每轮依次比较相邻两个数的大小,后面比前面小则交换 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)
출력 결과:
The 위의 코드는 작은 것부터 큰 것까지입니다. 큰 정렬, 큰 것부터 작은 것까지 정렬하려면 if 문의 판단을 추가하고 수정할 수 있습니다:
if(a[j]>a[j+1]){ ... }
방법 2: sort() 방법을 사용하세요
sort() 특정 조건에 따라 배열을 정렬하는 메서드 요소가 정렬됩니다.
구문: array.sort([function])
array.sort([函数])
sort() 方法两种情况:
当方法的参数为空时,则按字母顺序对数组中的元素进行从小到大排序。
所谓的字母顺序,实际上是根据字母在字符编码表中的顺序进行排列的,每个字符在字符表中都有一个唯一的编号。
var a=['e','a','f','b','c','h','g','z','i'] a.sort(); //按字母顺序对元素进行排序 console.log(a);
输出结果:
如果元素不是字符串,则 sort() 方法试图把数组元素都转换成字符串,以便进行比较。需要注意当数字是按字母顺序排列时"40"将排在"5"前面。
var a=[1,2,40,4,5,50,6,7,8] a.sort(); //按字母顺序对元素进行排序 console.log(a);
输出结果:
此时就需要通过一个函数作为参数来调用,即下面的第二种情况:
当参数为一个函数时,将按函数指定的规则排序数组元素。
var a=[1,2,40,4,5,50,6,7,8] a.sort(function(a,b){ return a-b;//从小到大排序 //return b-a;//从大到小排序 }); console.log(a);
输出结果:
当数组元素的前缀为数字而后缀为字符串时,如果希望这些元素能按数字大小进行排序,此时需对匿名函数中的参数作一些变通处理。
var a=['345px','23px','10px','1000px']; a.sort(function(a,b){ return parseInt(a)-parseInt(b);;//从小到大排序 //return parseInt(b)-parseInt(a);//从大到小排序 }); console.log(a);
输出结果:
方法3:利用reverse() 方法
如何不想将数组元素从小到大(或从大到小)进行排序,而是想倒序排序呢?那么可以使用reverse() 方法。
reverse() 方法能够颠倒数组元素的排列顺序,该方法不需要参数,直接 数组对象.reverse()
var a=['345px','23px','10px','1000px']; a.reverse(); console.log(a);
출력 결과:
rrreee
출력 결과: 이때 함수를 매개변수로 호출해야 하는데, 아래 두 번째 경우입니다. 🎜array object.reverse()
만 필요합니다. 🎜rrreee🎜출력 결과: 🎜🎜🎜🎜🎜🎜설명: 🎜🎜🎜🎜sort() 및 reverse() 메서드는 모두 새 배열을 만드는 대신 원본 배열에서 작동하므로 원본 배열이 변경됩니다. 🎜🎜그렇습니다. 필요하다면 다음을 시청하세요. 🎜javascript 비디오 튜토리얼🎜🎜위 내용은 JS의 특정 규칙에 따라 배열 요소를 정렬하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!