JavaScript Array sort()

Paglilinaw at Paggamit

sort() Ang paraan ay nag sort ng mga item ng array.

Ang pag sort ay maaaring ayon sa alpabeto o numero, at maaaring ayon sa pataas-pataas (up) o pabalikbali (down).

Sa ganap na paraan,sort() Ang paraan ay mag sort ng mga halaga bilang string ayon sa alpabeto at pataas-pataas.

Ito ay gumagamit sa mga string ("Apple" ay nasa unahan ng "Banana"). Subalit, kung ang mga numero ay nai-sort bilang string, "25" ay mas malaki kay "100" dahil "2" ay mas malaki kay "1".

Dahil dito,sort() Ang paraan ay magbibigay ng maling resulta kapag nag sort ng mga numero.

Maaari mong malutas ang problema sa pamamagitan ng pagbibigay ng 'timplang paghahambing' (tingnan ang ibabang 'halaga ng parametro').

Komentaryo:sort() Ang paraan ay mababago ang orihinal na array.

Mga halimbawa

Mga halimbawa 1

Mag sorta ang array:

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();

亲自试一试

Mga halimbawa 2

Mag sorta ang mga numero sa array ayon sa pataas-pataas (ascending):

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a-b});

亲自试一试

Mga halimbawa 3

Mag sorta ang mga numero sa array ayon sa pabalikbali (descending):

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return b-a});

亲自试一试

例子 4

获取数组中的最小值:

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a-b});    // 按升序对数组中的数字进行排序
// 数组中的第一项 (points[0]) 现在是最低值

亲自试一试

例子 5

获取数组中的最大值:

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return b-a});    // 按降序对数组中的数字进行排序
// 数组中的第一项 (points[0]) 现在是最高值

亲自试一试

例子 6

获取数组中的最大值:

const points = [40, 100, 1, 5, 25, 10];
// 按升序对数字进行排序:
points.sort(function(a, b){return a-b});
// points[points.length-1] = 100(最高值)

亲自试一试

例子 7

按字母顺序对数组进行排序,然后反转排序项的顺序(降序):

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();
fruits.reverse();

亲自试一试

语法

array.sort(compareFunction)

参数值

参数 描述
compareFunction

可选。定义替代排序顺序的函数。该函数应返回负值、零值或正值,具体取决于参数,例如:

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

sort() 方法比较两个值时,将值发送给比较函数,根据返回的(负、零、正)值对值进行排序。

举例:

比较 40 和 100 时,sort() 方法调用比较函数(40,100)。

该函数计算 40-100,并返回 -60(负值)。

sort 函数会将 40 排序为小于 100 的值。

技术细节

返回值: Array 对象,其中的项目已排序。
JavaScript 版本: ECMAScript 1

浏览器支持

所有浏览器都完全支持 sort() 方法:

Chrome IE Edge Firefox Safari Opera
Chrome IE Edge Firefox Safari Opera
支持 支持 支持 支持 支持 支持

相关页面

Tuturo:JavaScript 数组

Tuturo:JavaScript Array Const

Tuturo:Mga Method ng Array sa JavaScript

Tuturo:Pagayos ng Array sa JavaScript

Tuturo:Iterasyon ng Array sa JavaScript

Manwal:JavaScript Array.reverse() Method