数组对象根据自定义文字排序
比如有一个数组对象
let arr = [
{name:'猴'},{name:'狗'},{name:'马'},{name:'羊'},{name:'兔'},{name:'龙'}
]
我想这个数组排序顺序为 鼠、牛、虎、兔、龙、蛇、马、羊、猴、鸡、狗、猪
直接用sort() 排序是排不出来的
可以如下
arr.sort((a,b)=>{
// 鼠、牛、虎、兔、龙、蛇、马、羊、猴、鸡、狗、猪
let order = ['鼠','牛','虎','兔','龙','蛇','马','羊','猴','鸡','狗','猪']
return order.indexOf(a.name) - order.indexOf(b.name)
});
即可得到想要的数组,其实这个就是变相吧name 的值变成了可排序的 number值