对象数组自定义排序

问题描述

给定一个对象数组,要求按照指定的顺序进行排序展示。
[ { 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)

结果

在这里插入图片描述

posted @ 2023-01-07 23:34  Tricia11  阅读(20)  评论(0)    收藏  举报  来源