sort方法深入

判断回调函数的返回值,若大于0则前后交换位置,小于或等于0位置不动

var ary = [12,34,5,61,17,38,50,7];
ary.sort(function (a, b) {
    // a-> 每一次执行回调函数时的当前项
    // b-> 当前项的下一项
    return a - b; // 升序
    // return b - a; // 降序
});

返回1,大于0,则每一次的前后都要交换顺序,相当于reverse方法

ary.sort(function (a, b) {
   return 1; 
});
// 给二维数组排序,按照年龄由小到大
var person = [
    {name: '大橙子', age: 20},
    {name: '大瑞瑞', age: 24},
    {name: '小阿珍', age: 18},
    {name: '樊勇敢', age: 21},
    {name: '大冰砸', age: 19}
];
person.sort(function (a, b) {
    return a.age - b.age;
});
console.log(person);

汉字比较大小,字符串中的localCompare方法,先会转化成拼音,再按照字母表比较,靠后为大,若拼音一样,就会按照ASCII码值比较大小

person.sort(function (a, b) {
    return a.name.localeCompare(b.name);
});
console.log(person);

你可能感兴趣的:(sort方法深入)