Dans l'article précédent, nous avons présenté plusieurs méthodes pour détecter si tous les éléments du tableau remplissent les conditions spécifiées. Si vous êtes intéressé, vous pouvez cliquer sur le lien pour lire → "JS Array Learning : Déterminer si tous les éléments du tableau remplissent les conditions données. ". Cette fois, nous parlerons du tri des tableaux et présenterons comment trier les éléments d'un tableau en JavaScript.
Le contenu principal de l'article d'aujourd'hui est le suivant : trier les éléments du tableau selon certaines règles. Sans plus tarder, voici trois méthodes pour trier les éléments d’un tableau.
Méthode 1 : Utiliser la boucle for
Quand il s'agit d'utiliser la boucle for pour trier des tableaux, le tri à bulles vient à l'esprit. Jetons un coup d'œil au code d'implémentation :
//每轮依次比较相邻两个数的大小,后面比前面小则交换 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)
Résultats de sortie :
Le. le code ci-dessus provient d'un tri Large, si vous souhaitez trier de grand à petit, vous pouvez ajouter et modifier le jugement de l'instruction if :
if(a[j]>a[j+1]){ ... }
Méthode 2 : Utilisez la méthode sort()
sort( ) méthode pour trier le tableau selon certaines conditions. Les éléments sont triés.
Syntaxe : méthode 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);
Résultat de sortie :
rrreee
Résultat de sortie : A ce moment, vous devez appeler une fonction en paramètre, ce qui est le deuxième cas ci-dessous : 🎜array object.reverse()
. 🎜rrreee🎜Résultat de sortie : 🎜🎜🎜🎜🎜🎜Explication : Les méthodes 🎜🎜🎜🎜sort() et reverse() fonctionnent toutes deux sur le tableau d'origine au lieu de créer un nouveau tableau, par conséquent, le tableau d'origine sera modifié. 🎜🎜D'accord, c'est tout. Si vous en avez besoin, vous pouvez regarder : 🎜tutoriel vidéo javascript🎜🎜.Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!