补全代码实现数组按年龄、姓名、任意字段排
var user=[
{name:"john",age:20,company:"baidu"},
{name:"pete",age:"18",company:"alibaba"},
{name:"ann",age:"19",company:"tengxun"}
]
users.sort(byname)
users.sort(byage)
users.sort(byfield('surname'))
//sort的用法括号里面是函数。
users.sort(function(a,b){
return a.name>b.name
})
users.sort(function(a,b){
return a.age>b.age
})
function byname(a,b){
return a.name>b.name
}
所以byfield('surname')是函数,需要两个参数做比较。
function byfield(field){
return function(user1,user2){
return user1[field]> user2[field]
}
}//想怎么排序,定field的值就好了。这里field的引入把surname给暂存下来了。
写一个sum函数
console.log(sum(1)(2)) //3
console.log(sum(5)(-1)) //4
//sum()得到的就是一个函数,并引入变量1,得到的这个函数再执行,出现变量2,并出现方法。
function sum(a){
return function(b){
return a+b
}
} //a被暂存了。