sort() 方法用于对数组的元素进行排序。
排序顺序可以是字母或数字,并按升序或降序。默认排序顺序为按字母升序。
注意:当数字是按字母顺序排列时"40"将排在"5"前面。
语法:
array.sort(sortfunction)
参数:sortfunction,可选。规定排序顺序。必须是函数。
一、对字母进行排序
默认排序顺序为按字母升序。
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.sort(); fruits.reverse();
结果:
Orange,Mango,Banana,Apple
二、对数字进行排序
使用数字排序,你必须通过一个函数作为参数来调用。函数指定数字是按照升序还是降序排列。
1)、升序
var points = [40,100,1,5,25,10]; points.sort(function(a,b){return a-b});
结果:
1,5,10,25,40,100
2)、降序
var points = [40,100,1,5,25,10]; points.sort(function(a,b){return b-a});
结果:
100,40,25,10,5,1
三、根据数组中的对象的某个属性进行排序
根据对象中的某个字段进行升序或降序
1)、升序
第一种方式:
方法:
compare: function (property) { return function (a, b) { var value1 = a[property]; var value2 = b[property]; return value1 - value2; } },
调用方法:
result.data.forEach( (item, i) => { item.itemList.sort(that.compare("itemCode")) item.itemList.forEach( (item1, i1) => { datasetList.push(item1.itemName) } ) } )
第二种方式:直接将函数写到sort函数的参数中
result.data.forEach( (item, i) => { item.itemList.sort(function(a,b){return a["itemCode"]-b["itemCode"]}) item.itemList.forEach( (item1, i1) => { datasetList.push(item1.itemName) } ) } )
2)、降序
方法:
compare: function (property) { return function (a, b) { var value1 = a[property]; var value2 = b[property]; return value2 - value1; } },
调用方法:
result.data.forEach( (item, i) => { item.itemList.sort(that.compare("itemCode")) item.itemList.forEach( (item1, i1) => { datasetList.push(item1.itemName) } ) } )
第二种方式:直接将函数写到sort函数的参数中:
result.data.forEach( (item, i) => { item.itemList.sort(function(a,b){return b["itemCode"]-a["itemCode"]}) item.itemList.forEach( (item1, i1) => { datasetList.push(item1.itemName) } ) } )