问题描述
给定一个对象数组,要求按照指定的顺序进行排序展示。
如[ { name: '一', value: 1, }, { name: '二', value: 2, }, { name: '三', value: 3, }, ]
要求按照name值 二 、 一 、 三
排序
思路
设置一个顺序数组order
然后使用indexOf函数,判断arr的name在order中的索引
然后用sort函数进行排序
代码
/*
* @Author: Tricia
* @Description: 自定义顺序排序
*/
let arr = [
{
name: '一',
value: 1,
},
{
name: '二',
value: 2,
},
{
name: '三',
value: 3,
},
]
// 自定义顺序数组
let orders = ['二', '一', '三']
// 排序
arr.sort((a, b) => orders.indexOf(a.name) - orders.indexOf(b.name))
console.log(arr)