JavaScript Array toSorted()

定义和用法

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

toSorted() 方法返回新数组。

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

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

另请参阅:

Array sort() 方法

Array reverse() 方法

排序比较函数

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

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

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

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

实例

例子 1

// Maak een array aan
const fruits = ["Banana", "Orange", "Apple", "Mango"];
// Sorteer de array
const fruits2 = fruits.toSorted();

Probeer het zelf

例子 2

排序后反转顺序:

// Maak een array aan
const fruits = ["Banana", "Orange", "Apple", "Mango"];
// Sorteer de array
const fruits2 = fruits.toSorted();
// 反转数组
fruits2.reverse();

Probeer het zelf

Voorbeeld 3

Gebruik een sorteerfunctie om de getallen in oplopende volgorde te sorteren:

// Maak een array aan
const points = [40, 100, 1, 5, 25, 10];
// Sorteer de array
let points2 = points.toSorted(function(a, b){return a - b});

Probeer het zelf

Voorbeeld 4

Sorteer de getallen in aflopende volgorde:

// Maak een array aan
const points = [40, 100, 1, 5, 25, 10];
// Sorteer de array
let points2 = points.toSorted(function(a, b){return b - a});

Probeer het zelf

Voorbeeld 5

Zoek de laagste waarde:

// Maak een array aan
const points = [40, 100, 1, 5, 25, 10];
// Sorteer de getallen in oplopende volgorde
let points2 = points.toSorted(function(a, b){return a - b});
let lowest = points2[0];

Probeer het zelf

Voorbeeld 6

Zoek de hoogste waarde:

// Maak een array aan
const points = [40, 100, 1, 5, 25, 10];
// Sorteer de getallen in aflopende volgorde
let points2 = points.toSorted(function(a, b){return b - a});
let highest = points2[0];

Probeer het zelf

Voorbeeld 7

Zoek de hoogste waarde:

// Maak een array aan
const points = [40, 100, 1, 5, 25, 10];
// Sorteer de getallen in oplopende volgorde
let points2 = points.toSorted(function(a, b){return a - b});
let highest = points2[points.length - 1];

Probeer het zelf

Syntaxis

array.sort(compareFunction)

Parameters

Parameters Beschrijving
compareFunction

Optioneel. Definieer een functie voor de volgorde van de sortering. Deze functie moet een negatieve, nul of positieve waarde retourneren op basis van de parameters:

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

Wanneer sort() twee waarden vergelijkt, stuurt het deze waarden naar de vergelijkingsfunctie en sorteert het de waarden op basis van de geretourneerde (negatieve, nul, positieve) waarde.

Voorbeeld:

De sorteerfunctie ziet 40 als een waarde die kleiner is dan 100.

Bij het vergelijken van 40 en 100, roept sort() de functie function(40, 100) aan.

De functie berekent 40 - 100 en retourneert -60 (negatief).

Retourwaarde

Type Beschrijving
Array Nieuwe gesorteerde array.

Browserondersteuning

toSorted() Dit is een kenmerk van ES2023.

Sinds juli 2023 ondersteunen alle moderne browsers deze methode:

Chrome Edge Firefox Safari Opera
Chrome 110 Edge 110 Firefox 115 Safari 16.4 Opera 96
Februari 2023 Februari 2023 Juli 2023 Maart 2023 Mei 2023