js代码:
var arr
= [
{"name":"JackeLove","age":20},
{"name":"Uzi","age":25},
{"name":"CloearLove","age":99},
{"name":"Rookie","age":10},
{"name":"Ming","age":22}
]
var newArrByStr
= sortByStr(arr
,"name")
console
.log("按name(字符串)排序:",newArrByStr
)
var newArrByInt
= sortByInt(arr
,"age")
console
.log("按age ( 数字 )排序:",newArrByInt
)
function sortByStr (array
, key
) {
return array
.sort(function (b
, a
) {
var x
= (a
[key
].substr(0, 1)).charCodeAt()
var y
= (b
[key
].substr(0, 1)).charCodeAt()
return y
- x
})
}
function sortByInt (array
, key
) {
return array
.sort(function (b
, a
) {
var x
= a
[key
]
var y
= b
[key
]
return y
- x
})
}
结果:
两个方法也可以整合一下,即先判断属性的类型是什么,再分别进行比较,这里就不写出来了~
转载请注明原文地址:https://ipadbbs.8miu.com/read-41119.html