arr1
arr2
arr1.sort((prev,next)=>{
return arr2.indexOf(prev)-arr2.indexOf(next)
})
这是arr1按照arr2排序
延伸
// 一个数组按照另一个数组排序// 对象内的键值排序// 简单类型数组
let arr1 = [1, 2, 3, 4, 5]
let arr2 = [5, 3, 2, 4, 1]
arr1.sort((prev, next) => {return arr2.indexOf(prev) - arr2.indexOf(next)
})
console.log(arr1)// 复杂数组let arr3 = [{id: 1,name: 'fasfdads',age: 131},{id: 2,name: 'fasfdads',age: 131},{id: 3,name: 'fasfdads',age: 131},
]let arr4 = [{id: 3,hh: 'fasfdads',age: 131},{id: 2,hh: 'fasfdads',age: 131},{id: 1,hh: 'fasfdads',age: 131},
]arr3.sort((prev, next) => {return arr4.indexOf(prev.id) - arr4.indexOf(next.id)
//必须是id这种可以比较的才能弄。。。。,假如字符串这种就没作用
})
console.log(arr3)
/ 对象的属性怎么排序
let arrData = { "张三": 15, "李四": 30, "万系": 2, "是三": 3 };
let keysSorted = Object.keys(arrData).sort(function (a, b) { return arrData[b] - arrData[a] }) //排序健名
let newD = {}
for (let i = 0; i < keysSorted.length; i++) {
newD[keysSorted[i]] = arrData[keysSorted[i]];
}
console.log(keysSorted, arrData, newD)
对象的长度
https://www.cnblogs.com/ranyonsue/p/8494440.html