Javascript数组的排序 sort()方法和reverse()方法_javascript技巧
其中:
1.JavaScript的sort()中如果没有指定比较函数,则默认会按照字符的编码顺序进行升序排序。也就是说如果我们想要对数值进行排序得到的不一定是我们想要的结果。
2.Javascript的reverse()将数组中的元素逆序。
先看看上面的第一点,如果有一个数组arr=[1,6,3,7,9],使用arr.sort()后,数组的顺序为1,3,6,7,9,得到了我们想要的结果。
再看看下面的一个数组排序:arr=[3,1,16,34,30],如果执行arr.sort()后是不是还是会得到我们想要的1,3,16,30,34呢?
执行后我们发现结果为:1,16,3,30,34,显然结果不是我们想要的。实际上,sort方法将上面的数值按照字符串方式排序了,也就是说和数组arr1=['3','1','16','34','30']的排序结果一致。
代码如下:
var arr=[3,1,16,34,30];
var arr1=['3','1','16','34','30'];
alert(arr.sort()); // 1,16,3,30,34
alert(arr1.sort()); // 1,16,3,30,34
那么如果我们想要得到正确的结果:1,3,16,30,34 应该怎么去做呢?
查询javascript手册,手册中的说明如下:
定义和用法
sort() 方法用于对数组的元素进行排序。
语法
arrayObject.sort(sortby)参数 描述
sortby 可选。规定排序顺序。必须是函数。
返回值
对数组的引用。请注意,数组在原数组上进行排序,不生成副本。
说明
如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。
如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:
若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
若 a 等于 b,则返回 0。
若 a 大于 b,则返回一个大于 0 的值。
=====================================
由以上说明我们可以了解到,如果要按照数值进行排序,那么就要提供一个比较函数。一般常见的比较函数如下:
function sortArr(m,n){
if(m
else if(m>n)
return 1;//大于,返回1
else return 0;//等于,返回0
}
精简后可以写成如下两种形式:
function sortArr(m,n){
return m-n;
}
function sortArr(m,n){
return m>n?1:(m
然后执行arr.sort(sortArr),发现可以得到我们想要的结果:1,3,16,30,34.也就说将数组按照整型数值进行了升序排序。
这样的话新的问题就来了,如果我们想要对数组进行降序排序怎么做呢?
有一思路就是改变sortArr函数的返回值,如果m
你可以写两个函数,一个升序,一个降序。然后根据不同的需要调用不同的函数就可以了。
此外我们还可以调用上面提到的另一个函数reverse()来轻松的实现,当我们进行升序排序后,然后数组在调用reverse()方法将数组逆序,这样就可以实现数组的降序排序了。
代码如下:
arr.sort(sortArr).reverse();
总结:这里主要介绍了Javascript中数组的排序,由于默认按照字符串排序,要实现按照其他形式的规则排序就要自己定义比较函数了。

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Uniapp est un framework de développement multiplateforme. Ses puissantes capacités cross-end permettent aux développeurs de développer diverses applications rapidement et facilement. Il est également très simple d'implémenter des opérations de tri et de glisser-déposer dans Uniapp, et il peut prendre en charge les opérations de glisser-déposer d'une variété de composants et d'éléments. Cet article expliquera comment utiliser Uniapp pour implémenter des opérations de tri et de glisser-déposer par glisser-déposer, et fournira des exemples de code spécifiques. La fonction de tri par glisser-déposer est très courante dans de nombreuses applications. Par exemple, elle peut être utilisée pour implémenter le tri par glisser-déposer des listes, le tri par glisser-déposer des icônes, etc. Ci-dessous nous listons

La couche inférieure de la fonction de tri C++ utilise le tri par fusion, sa complexité est O(nlogn) et propose différents choix d'algorithmes de tri, notamment le tri rapide, le tri par tas et le tri stable.

Méthode de tri rapide des tableaux en PHP qui préserve les noms de clés : utilisez la fonction ksort() pour trier les clés. Utilisez la fonction uasort() pour trier à l'aide d'une fonction de comparaison définie par l'utilisateur. Cas pratique : Pour trier un tableau d'ID utilisateur et de scores par score tout en conservant l'ID utilisateur, vous pouvez utiliser la fonction uasort() et une fonction de comparaison personnalisée.

Titre : Exemple d'utilisation de la fonction Array.Sort pour trier un tableau en C# Texte : En C#, un tableau est une structure de données couramment utilisée, et il est souvent nécessaire de trier le tableau. C# fournit la classe Array, qui possède la méthode Sort pour trier facilement les tableaux. Cet article explique comment utiliser la fonction Array.Sort en C# pour trier un tableau et fournit des exemples de code spécifiques. Tout d’abord, nous devons comprendre l’utilisation de base de la fonction Array.Sort. Tableau.Donc

Pour comprendre en profondeur le tri des tableaux JS : les principes et les mécanismes de la méthode sort(), des exemples de code spécifiques sont nécessaires Introduction : Le tri des tableaux est l'une des opérations les plus courantes dans notre travail quotidien de développement front-end. La méthode de tri de tableaux sort() en JavaScript est l'une des méthodes de tri de tableaux les plus couramment utilisées. Cependant, comprenez-vous vraiment les principes et les mécanismes de la méthode sort() ? Cet article vous donnera une compréhension approfondie des principes et des mécanismes de tri des tableaux JS et fournira des exemples de code spécifiques. 1. Utilisation de base de la méthode sort()

Comment écrire un algorithme de tri de tableau PHP personnalisé ? Tri à bulles : trie un tableau en comparant et en échangeant des éléments adjacents. Tri par sélection : sélectionnez à chaque fois l'élément le plus petit ou le plus grand et échangez-le avec la position actuelle. Tri par insertion : insérez les éléments dans une pièce ordonnée un par un.

La façon de trier un tableau par valeur en PHP tout en préservant les noms de clés consiste à utiliser la fonction usort() pour trier le tableau par valeur. Transmettez une fonction anonyme à la fonction usort() en tant que fonction de comparaison, qui renvoie la différence entre les valeurs des éléments. usort() triera le tableau selon la fonction anonyme tout en gardant les noms de clés inchangés.

Comment trier une liste à l'aide de la fonction List.Sort en C# Dans le langage de programmation C#, nous avons souvent besoin de trier la liste. La fonction Sort de la classe List est un outil puissant conçu à cet effet. Cet article explique comment utiliser la fonction List.Sort en C# pour trier une liste et fournit des exemples de code spécifiques pour aider les lecteurs à mieux comprendre et appliquer cette fonction. La fonction List.Sort est une fonction membre de la classe List, utilisée pour trier les éléments de la liste. Cette fonction reçoit
