Heim Web-Frontend js-Tutorial Javascript数组的排序 sort()方法和reverse()方法_javascript技巧

Javascript数组的排序 sort()方法和reverse()方法_javascript技巧

May 16, 2016 pm 05:52 PM
sort 数组排序

其中:

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(mreturn -1;//小于,返回-1
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函数的返回值,如果mn时返回负值,m=n时返回0。这样就可以了。

你可以写两个函数,一个升序,一个降序。然后根据不同的需要调用不同的函数就可以了。

此外我们还可以调用上面提到的另一个函数reverse()来轻松的实现,当我们进行升序排序后,然后数组在调用reverse()方法将数组逆序,这样就可以实现数组的降序排序了。

代码如下:
复制代码 代码如下:

arr.sort(sortArr).reverse();

总结:这里主要介绍了Javascript中数组的排序,由于默认按照字符串排序,要实现按照其他形式的规则排序就要自己定义比较函数了。
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So implementieren Sie Drag-and-Drop-Sortierung und Drag-and-Drop-Vorgänge in Uniapp So implementieren Sie Drag-and-Drop-Sortierung und Drag-and-Drop-Vorgänge in Uniapp Oct 19, 2023 am 09:39 AM

Uniapp ist ein plattformübergreifendes Entwicklungsframework, mit dem Entwickler schnell und einfach verschiedene Anwendungen entwickeln können. Es ist auch sehr einfach, Drag-and-Drop-Sortierung und Drag-and-Drop-Vorgänge in Uniapp zu implementieren, und es kann Drag-and-Drop-Vorgänge für eine Vielzahl von Komponenten und Elementen unterstützen. In diesem Artikel wird erläutert, wie Sie mit Uniapp Drag-and-Drop-Sortierung und Drag-and-Drop-Vorgänge implementieren, und es werden spezifische Codebeispiele bereitgestellt. Die Drag-and-Drop-Sortierfunktion ist in vielen Anwendungen sehr verbreitet. Sie kann beispielsweise zum Implementieren der Drag-and-Drop-Sortierung von Listen, der Drag-and-Drop-Sortierung von Symbolen usw. verwendet werden. Nachfolgend listen wir auf

Entdecken Sie die zugrunde liegenden Prinzipien und die Algorithmusauswahl der C++-Sortierfunktion Entdecken Sie die zugrunde liegenden Prinzipien und die Algorithmusauswahl der C++-Sortierfunktion Apr 02, 2024 pm 05:36 PM

Die unterste Ebene der C++-Sortierfunktion verwendet die Zusammenführungssortierung, ihre Komplexität beträgt O(nlogn) und bietet verschiedene Auswahlmöglichkeiten für Sortieralgorithmen, einschließlich schneller Sortierung, Heap-Sortierung und stabiler Sortierung.

Schnelle Array-Sortiermethode, die Schlüsselnamen in PHP beibehält Schnelle Array-Sortiermethode, die Schlüsselnamen in PHP beibehält May 02, 2024 pm 03:06 PM

Schnelle Array-Sortiermethode in PHP, die Schlüsselnamen beibehält: Verwenden Sie die Funktion ksort(), um die Schlüssel zu sortieren. Verwenden Sie die Funktion uasort(), um mithilfe einer benutzerdefinierten Vergleichsfunktion zu sortieren. Praktischer Fall: Um ein Array von Benutzer-IDs und Punktzahlen nach Punktzahl zu sortieren und dabei die Benutzer-ID beizubehalten, können Sie die Funktion uasort() und eine benutzerdefinierte Vergleichsfunktion verwenden.

Array mit der Array.Sort-Funktion in C# sortieren Array mit der Array.Sort-Funktion in C# sortieren Nov 18, 2023 am 10:37 AM

Titel: Beispiel für die Verwendung der Array.Sort-Funktion zum Sortieren eines Arrays in C#. Text: In C# ist Array eine häufig verwendete Datenstruktur, und häufig sind Array-Sortiervorgänge erforderlich. C# stellt die Array-Klasse bereit, die über die Sort-Methode verfügt, um Arrays bequem zu sortieren. In diesem Artikel wird gezeigt, wie Sie ein Array mithilfe der Array.Sort-Funktion in C# sortieren, und es werden spezifische Codebeispiele bereitgestellt. Zunächst müssen wir die grundlegende Verwendung der Array.Sort-Funktion verstehen. Array.So

JS-Array-Sortierung: Eingehende Analyse des Funktionsprinzips und Mechanismus der Methode sort() JS-Array-Sortierung: Eingehende Analyse des Funktionsprinzips und Mechanismus der Methode sort() Dec 28, 2023 am 11:47 AM

Um die JS-Array-Sortierung: die Prinzipien und Mechanismen der sort()-Methode gründlich zu verstehen, sind spezifische Codebeispiele erforderlich. Einführung: Die Array-Sortierung ist eine der häufigsten Operationen in unserer täglichen Front-End-Entwicklungsarbeit. Die Array-Sortiermethode sort() in JavaScript ist eine der am häufigsten verwendeten Array-Sortiermethoden. Verstehen Sie jedoch wirklich die Prinzipien und Mechanismen der Methode sort()? Dieser Artikel vermittelt Ihnen ein detailliertes Verständnis der Prinzipien und Mechanismen der JS-Array-Sortierung und stellt spezifische Codebeispiele bereit. 1. Grundlegende Verwendung der Methode sort()

Anleitung zum Schreiben eines benutzerdefinierten Sortieralgorithmus für PHP-Arrays Anleitung zum Schreiben eines benutzerdefinierten Sortieralgorithmus für PHP-Arrays Apr 27, 2024 pm 06:12 PM

Wie schreibe ich einen benutzerdefinierten PHP-Array-Sortieralgorithmus? Blasensortierung: Sortiert ein Array durch Vergleichen und Austauschen benachbarter Elemente. Auswahlsortierung: Wählen Sie jedes Mal das kleinste oder größte Element aus und tauschen Sie es mit der aktuellen Position aus. Einfügungssortierung: Elemente nacheinander in einen geordneten Teil einfügen.

Wie behalte ich Schlüsselnamen bei, nachdem ich das PHP-Array nach Wert sortiert habe? Wie behalte ich Schlüsselnamen bei, nachdem ich das PHP-Array nach Wert sortiert habe? May 02, 2024 pm 04:09 PM

Die Möglichkeit, ein Array in PHP nach Wert zu sortieren und dabei die Schlüsselnamen beizubehalten, besteht darin, die Funktion usort() zu verwenden, um das Array nach Wert zu sortieren. Übergeben Sie eine anonyme Funktion als Vergleichsfunktion an die Funktion usort(), die die Differenz der Elementwerte zurückgibt. usort() sortiert das Array entsprechend der anonymen Funktion, während die Schlüsselnamen unverändert bleiben.

So sortieren Sie eine Liste mithilfe der List.Sort-Funktion in C# So sortieren Sie eine Liste mithilfe der List.Sort-Funktion in C# Nov 17, 2023 am 10:58 AM

So sortieren Sie eine Liste mithilfe der List.Sort-Funktion in C#. In der Programmiersprache C# müssen wir die Liste häufig sortieren. Die Sortierfunktion der List-Klasse ist ein leistungsstarkes Werkzeug, das für diesen Zweck entwickelt wurde. In diesem Artikel wird die Verwendung der List.Sort-Funktion in C# zum Sortieren einer Liste vorgestellt und spezifische Codebeispiele bereitgestellt, um den Lesern zu helfen, diese Funktion besser zu verstehen und anzuwenden. Die List.Sort-Funktion ist eine Mitgliedsfunktion der List-Klasse, die zum Sortieren von Elementen in der Liste verwendet wird. Diese Funktion empfängt

See all articles