根据数组中对象的某一个属性进行排序(字符串或者数字)

    技术2023-03-27  97

    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) // 按类型为String的属性排序 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 }) } // 按类型为Number的属性排序 function sortByInt (array, key) { return array.sort(function (b, a) { var x = a[key] var y = b[key] return y - x }) }

    结果:

    两个方法也可以整合一下,即先判断属性的类型是什么,再分别进行比较,这里就不写出来了~

    Processed: 0.010, SQL: 9