Maison > interface Web > js tutoriel > le corps du texte

Comment trier les éléments d'un tableau selon certaines règles en JS

青灯夜游
Libérer: 2021-08-27 14:37:54
original
7498 Les gens l'ont consulté

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)
Copier après la connexion

Résultats de sortie :

Comment trier les éléments dun tableau selon certaines règles en JS

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]){
...
}
Copier après la connexion

Comment trier les éléments dun tableau selon certaines règles en JS

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=[&#39;e&#39;,&#39;a&#39;,&#39;f&#39;,&#39;b&#39;,&#39;c&#39;,&#39;h&#39;,&#39;g&#39;,&#39;z&#39;,&#39;i&#39;]
a.sort();  //按字母顺序对元素进行排序
console.log(a);
Copier après la connexion

输出结果:

Comment trier les éléments dun tableau selon certaines règles en JS

如果元素不是字符串,则 sort() 方法试图把数组元素都转换成字符串,以便进行比较。需要注意当数字是按字母顺序排列时"40"将排在"5"前面。

var a=[1,2,40,4,5,50,6,7,8]
a.sort();  //按字母顺序对元素进行排序
console.log(a);
Copier après la connexion

输出结果:

Comment trier les éléments dun tableau selon certaines règles en JS

此时就需要通过一个函数作为参数来调用,即下面的第二种情况:

  • 当参数为一个函数时,将按函数指定的规则排序数组元素。

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);
Copier après la connexion

输出结果:

Comment trier les éléments dun tableau selon certaines règles en JS

当数组元素的前缀为数字而后缀为字符串时,如果希望这些元素能按数字大小进行排序,此时需对匿名函数中的参数作一些变通处理。

var a=[&#39;345px&#39;,&#39;23px&#39;,&#39;10px&#39;,&#39;1000px&#39;];
a.sort(function(a,b){
     return parseInt(a)-parseInt(b);;//从小到大排序
     //return parseInt(b)-parseInt(a);//从大到小排序
});
console.log(a);
Copier après la connexion

输出结果:

Comment trier les éléments dun tableau selon certaines règles en JS

方法3:利用reverse() 方法

如何不想将数组元素从小到大(或从大到小)进行排序,而是想倒序排序呢?那么可以使用reverse() 方法。

reverse() 方法能够颠倒数组元素的排列顺序,该方法不需要参数,直接 数组对象.reverse()

sort() dans deux cas :

  • When Lorsque le paramètre de la méthode est vide, les éléments du tableau sont triés par ordre alphabétique du plus petit au plus grand.

Comment trier les éléments dun tableau selon certaines règles en JSL'ordre dit alphabétique est en fait organisé selon l'ordre des lettres dans la table de codage des caractères. Chaque caractère a un numéro unique dans la table des caractères.

var a=[&#39;345px&#39;,&#39;23px&#39;,&#39;10px&#39;,&#39;1000px&#39;];
a.reverse();
console.log(a);
Copier après la connexion

Résultat de sortie : Comment trier les éléments dun tableau selon certaines règles en JS

Si l'élément n'est pas une chaîne, la méthode sort() tente de convertir les éléments du tableau en chaînes à des fins de comparaison. Notez que « 40 » viendra avant « 5 » lorsque les nombres sont classés par ordre alphabétique.

rrreee

Résultat de sortie :

Comment trier les éléments dun tableau selon certaines règles en JS

A ce moment, vous devez appeler une fonction en paramètre, ce qui est le deuxième cas ci-dessous : 🎜
  • 🎜Lorsque le paramètre est une fonction, les éléments du tableau seront triés selon les règles spécifiées par la fonction. 🎜
rrreee🎜Résultat de sortie : 🎜🎜Comment trier les éléments dun tableau selon certaines règles en JS🎜🎜Lorsque le préfixe des éléments du tableau est un nombre et le suffixe est une chaîne, si vous souhaitez que ces éléments soient triés par taille numérique, vous devez apporter quelques modifications aux paramètres de la fonction anonyme. 🎜rrreee🎜Résultat de sortie : 🎜🎜Comment trier les éléments dun tableau selon certaines règles en JS 🎜🎜🎜Méthode 3 : Utiliser la méthode reverse()🎜🎜🎜Pourquoi ne voulez-vous pas trier les éléments du tableau de petit à grand (ou de grand à petit), mais souhaitez-vous les trier dans l'ordre inverse🎜 ? Ensuite, vous pouvez utiliser la méthode reverse(). La méthode 🎜🎜reverse() peut inverser l'ordre des éléments du tableau. Cette méthode ne nécessite pas de paramètres, juste 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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!