1.sort回调函数
1)回调函数:把一个方法A当做参数值,传递给另外一个函数B,然后在B执行的过程中,我们随时根据需求让A方法执行
【案例1】
function A() {}
function B (fn) {
fn();
fn();
}
B(A)
【案例2】 sort排序的原理
art.sort(function (a,b) { // a 每一次执行匿名函数的时候,找到的数组中的当前项 // b 当前项的后一项 console.log(a,b) // return a - b; // 升序(如果a>b,返回>0,a和b交换位置) // return b - a; // 降序(如果b>a,返回<0,a和b交换位置) // return的是一个>0或者<=0的数,大于0让a和b交换一下位置,小于等于0原来的位置不动 // return 1; // 不管a和b谁大,每一次都返回一个恒大于0的数,也就是每一次a和b都要交换位置,最后的结果就是原有数组倒过来排列了==》reverse } )
2)给二维数组排序
var ary = [
{name: "张三", age: 23},
{name: "李四", age: 213},
{name: "张三", age: 23},
]
【案例1】 按照年龄排序
ary.sort(function (a,b) { return parseFloat(a.age) - parseFloat(b.age) // 按照年龄排序 return ( parseFloat(a.age) - parseFloat(b.age) ) * -1; })
【案例2】按照姓名排序
ary.sort(function (a,b) { return (a.name).localeCompare(b.name) })