JavaScript Array toSorted()

定义和用法

toSorted() 方法按字母顺序对数组元素进行排序。

toSorted() 方法返回新数组。

toSorted() 方法不会覆盖原始数组。

toSorted() 方法是 sort() 方法的复制版本。

另请参阅:

Array sort() 方法

Array reverse() 方法

排序比较函数

按字母顺序排序对字符串效果很好("Apple" 排在 "Banana" 之前)。

但是,对数字排序可能会产生不正确的结果。

"25" 比 "100" 大,因为 "2" 比 "1" 大。

可以通过提供“比较函数”来解决此问题(见下面的例子)。

实例

例子 1

// Skapa en array
const fruits = ["Banana", "Orange", "Apple", "Mango"];
// Sortera arrayen
const fruits2 = fruits.toSorted();

Prova själv

例子 2

排序后反转顺序:

// Skapa en array
const fruits = ["Banana", "Orange", "Apple", "Mango"];
// Sortera arrayen
const fruits2 = fruits.toSorted();
// 反转数组
fruits2.reverse();

Prova själv

Exempel 3

Använda en sorteringsfunktion för att sortera nummer i stigande ordning:

// Skapa en array
const points = [40, 100, 1, 5, 25, 10];
// Sortera arrayen
let points2 = points.toSorted(function(a, b){return a - b});

Prova själv

Exempel 4

Sortera nummer i fallande ordning:

// Skapa en array
const points = [40, 100, 1, 5, 25, 10];
// Sortera arrayen
let points2 = points.toSorted(function(a, b){return b - a});

Prova själv

Exempel 5

Sök minsta värdet:

// Skapa en array
const points = [40, 100, 1, 5, 25, 10];
// Sortera nummer i stigande ordning
let points2 = points.toSorted(function(a, b){return a - b});
let lowest = points2[0];

Prova själv

Exempel 6

Sök största värdet:

// Skapa en array
const points = [40, 100, 1, 5, 25, 10];
// Sortera nummer i fallande ordning
let points2 = points.toSorted(function(a, b){return b - a});
let highest = points2[0];

Prova själv

Exempel 7

Sök största värdet:

// Skapa en array
const points = [40, 100, 1, 5, 25, 10];
// Sortera nummer i stigande ordning
let points2 = points.toSorted(function(a, b){return a - b});
let highest = points2[points.length - 1];

Prova själv

Syntax

array.sort(compareFunction)

Parametrar

Parametrar Beskrivning
compareFunction

Valfritt. Definiera en funktion för att definiera sorteringsordningen. Denna funktion bör returnera ett negativt värde, noll eller positivt värde baserat på parametrarna:

function(a, b){return a-b}

När sort() jämför två värden, skickar den dessa värden till jämförelsefunktionen och sorterar värdena baserat på det returnerade (negativt värde, noll, positivt värde).

Exempel:

Sorteringsfunktionen betraktar 40 som en mindre värde än 100.

När man jämför 40 och 100, anropar sort() funktionen function(40, 100).

Funktionen räknar ut 40 - 100 och returnerar -60 (negativt värde).

Returvärde

Typ Beskrivning
Array En ny sorterad array.

Webbläsarstöd

toSorted() Det är en funktion av ES2023.

Från och med juli 2023 stöder alla moderna webbläsare denna metod:

Chrome Edge Firefox Safari Opera
Chrome 110 Edge 110 Firefox 115 Safari 16.4 Opera 96
Februari 2023 Februari 2023 Juli 2023 Mars 2023 Maj 2023