按照给定字段顺序来排序

通过给定顺序来给数组排序

在开发中,我们会遇到不是按照值的大小来给数组排序,有时候需要给定一段文字,然后通过文字来排序,比如说我们通过给定的 ["小明", "小李", "小张", "小华", "小王"] 来排序

const data = [
  { name: "小李", value: "293" },
  { name: "小王", value: "133" },
  { name: "小华", value: "499" },
  { name: "小张", value: "288" },
  { name: "小明", value: "373" },
];
data.sort((star, next) => {
  const sortTarget = ["小明", "小李", "小张", "小华", "小王"];
  return sortTarget.indexOf(star.name) - sortTarget.indexOf(next.name);
});
console.log(data);
/* output data
[
  { name: '小明', value: '373' },
  { name: '小李', value: '293' },
  { name: '小张', value: '288' },
  { name: '小华', value: '499' },
  { name: '小王', value: '133' }
] 
*/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值