对数组元素排序 sort() 方法

sort() 方法

sort() 方法用于对数组的元素进行排序。

  • 语法:arrayObject.sort(sortby)
  • 返回值:对数组的引用。请注意,数组在原数组上进行排序,不生成副本。
  • 如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序
var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "
") //George,John,Thomas,James,Adrew,Martin document.write(arr.sort()) //Adrew,George,James,John,Martin,Thomas
  • 如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b。
var arr = new Array(6)
arr[0] = "10"
arr[1] = "5"
arr[2] = "40"
arr[3] = "25"
arr[4] = "1000"
arr[5] = "1"

document.write(arr + "
") //10,5,40,25,1000,1 document.write(arr.sort()) //1,10,1000,25,40,5
  • 上面的代码没有按照数值的大小对数字进行排序,要实现这一点,就必须使用一个排序函数
function sortNumber(a,b){
	return a - b
}

var arr = new Array(6)
arr[0] = "10"
arr[1] = "5"
arr[2] = "40"
arr[3] = "25"
arr[4] = "1000"
arr[5] = "1"

document.write(arr + "
") //10,5,40,25,1000,1 document.write(arr.sort(sortNumber)) //1,5,10,25,40,1000

vue中对数组对象中某个属性进行排序

sortNumber(a, b) {
	return a.id- b.id
},
getSortId() {
	this.sortIdArr = idObj.sort(this.sortNumber)   //idObj为要排序的数组
	console.log(this.sortIdArr )
},

你可能感兴趣的:(vue,学习总结)