JavaScript Array toSorted()

Määritelmä ja käyttötapa

toSorted() Menetelmä järjestää taulukon alkiot aakkosjärjestykseen.

toSorted() Menetelmä palauttaa uuden taulukon.

toSorted() Menetelmä ei korvaa alkuperäistä taulukkoa.

toSorted() Menetelmä on sort() Menetelmän kopio.

Katso myös:

Array sort() -menetelmä

Array reverse() -menetelmä

Järjestämisvertailufunktio

Kirjainjärjestyksessä järjestäminen toimii hyvin merkkijonojen kanssa ("Apple" on ennen "Banana").

Mutta, numeroiden järjestäminen voi tuottaa virheellisiä tuloksia.

"25" on suurempi kuin "100", koska "2" on suurempi kuin "1".

Tämä ongelma voidaan ratkaista tarjoamalla "vertailufunktio" (katso alla oleva esimerkki).

esimerkki

esimerkki 1

// Luo taulukko
const fruits = ["Banana", "Orange", "Apple", "Mango"];
// Järjestä taulukko
const fruits2 = fruits.toSorted();

kokeile itse

esimerkki 2

排序后反转顺序:

// Luo taulukko
const fruits = ["Banana", "Orange", "Apple", "Mango"];
// Järjestä taulukko
const fruits2 = fruits.toSorted();
// 反转数组
fruits2.reverse();

kokeile itse

esimerkki 3

Järjestä numerot nousevassa järjestyksessä käyttämällä järjestyslaskentafunktiota:

// Luo taulukko
const points = [40, 100, 1, 5, 25, 10];
// Järjestä taulukko
let points2 = points.toSorted(function(a, b){return a - b});

kokeile itse

esimerkki 4

järjestä numerot laskevassa järjestyksessä

// Luo taulukko
const points = [40, 100, 1, 5, 25, 10];
// Järjestä taulukko
let points2 = points.toSorted(function(a, b){return b - a});

kokeile itse

esimerkki 5

etsi pienin arvo:

// Luo taulukko
const points = [40, 100, 1, 5, 25, 10];
// Järjestä numerot nousevassa järjestyksessä
let points2 = points.toSorted(function(a, b){return a - b});
let lowest = points2[0];

kokeile itse

esimerkki 6

etsi suurin arvo:

// Luo taulukko
const points = [40, 100, 1, 5, 25, 10];
// Järjestä numerot laskevassa järjestyksessä
let points2 = points.toSorted(function(a, b){return b - a});
let highest = points2[0];

kokeile itse

esimerkki 7

etsi suurin arvo:

// Luo taulukko
const points = [40, 100, 1, 5, 25, 10];
// Järjestä numerot nousevassa järjestyksessä
let points2 = points.toSorted(function(a, b){return a - b});
let highest = points2[points.length - 1];

kokeile itse

syntaksi

array.sort(compareFunction)

parametrit

parametrit kuvaus
compareFunction

valinnainen. Määrittelee järjestysjärjestyksen funktio. Tämä funktio tulisi palauttaa negatiivisen, nollan tai positiivisen arvon parametreille:

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

Kun sort() vertailee kahta arvoa, se lähettää nämä arvot vertailufunktiolle ja järjestää arvot perustuen palautettuun (negatiiviseen, nollaan, positiiviseen) arvoon.

Esimerkki:

Järjestyslaskenta katsoo 40:n pienemmäksi arvoksi kuin 100.

Kun verrataan 40 ja 100, sort() kutsuu funktiota function(40, 100).

lasketaan 40 - 100, ja palautetaan -60 (negatiivinen arvo).

palautusarvo

tyyppi kuvaus
Array järjestetyn uuden taulukon.

selaimen tuki

toSorted() Se on ES2023:n ominaisuus.

Aloitetaan 7. heinäkuuta 2023, kaikki nykyaikaiset selaimet tukevat tätä menetelmää:

Chrome Edge Firefox Safari Opera
Chrome 110 Edge 110 Firefox 115 Safari 16.4 Opera 96
helmi 2023 helmi 2023 heinäkuu 2023 maaliskuu 2023 toukokuu 2023