解决对象型数组中某一对象属性的排序问题
问题:有一对象型数组,每项对象中有一属性,希望根据该属性值(name)排序。
例子:[ {type: ' ' , requierd: true , name: '参数1' , ...},{type: ' ' , requierd: true , name: '参数2' , ...} ......]
解决方案:1. 先将该数组按name属性排序。(构造一个函数)2. 再将其遍历
代码:const sorts = (arr) => {
const newArr = arr.sort( (a, b) => +a.name.split('参数')[1] - +b.name.split('参数')[1] )
return newArr
}
分析:1. split() : 把字符串分割成字符串数组【 a/b.name就是字符串 '参数1/2/3' ,split分割是以参数进行分割 ,参数前面没有,所以为空,结果是[' ' , ' 1 /2/...'] ,取数组中的第二项】
2. sort() :将数组中的元素进行排序(默认按字母排序)【如果按数字排序的话,必须通过函数作为sort中的参数来调用】
【 数字升序:将function(a, b)=> { return a - b }作为参数传到sort中 】

浙公网安备 33010602011771号