JavaScript学习笔记2

Source
版权声明:随意转载,转载请注明出处。 https://blog.csdn.net/qq_36258516/article/details/85778211

JavaScript学习笔记

关于数组sort()函数的使用

  通常规定,对于两个元素xy,如果认为x < y,则返回-1,如果认为x == y,则返回0,如果认为x > y,则返回1,这样,排序算法就不用关心具体的比较过程,而是根据比较结果直接排序。

/*与C语言类似,可以直接定义cmp函数*/
var arr = [1,46,8,4,4,1,1];

function cmp1(x,y){
    return x>y?1:-1;
}
arr.sort(cmp1);
console.log(arr);/*[ 1, 1, 1, 4, 4, 8, 46 ]*/

function cmp2(x,y){
    return x<y?1:-1;
}
arr.sort(cmp2);
console.log(arr);/*[ 46, 8, 4, 4, 1, 1, 1 ]*/

  还可以直接在sort()中定义比较函数。

var arr = [1,46,8,4,4,1,1];

arr.sort(function (x,y) {
    return x>y?1:-1;
})
console.log(arr);/*[ 1, 1, 1, 4, 4, 8, 46 ]*/

arr.sort(function (x,y) {
    return x<y?1:-1;
})
console.log(arr);/*[ 46, 8, 4, 4, 1, 1, 1 ]*/