按照另一个数组或集合中某个属性值的存在排序集合。
创始人
2024-08-24 18:00:18
0

假设我们有两个对象数组:orders和orderStatus。

orders数组如下所示:

[
  {id: 1, name: 'order1', status: 'unpaid'},
  {id: 2, name: 'order2', status: 'shipped'},
  {id: 3, name: 'order3', status: 'cancelled'},
  {id: 4, name: 'order4', status: 'unpaid'},
  {id: 5, name: 'order5', status: 'shipped'}
]

orderStatus数组如下所示:

[
  {name: 'unpaid'},
  {name: 'shipped'},
  {name: 'cancelled'}
]

我们希望按照orderStatus数组中的name属性值的顺序对orders数组进行排序。我们可以使用JavaScript的sort()方法和indexOf()方法来实现:

orders.sort((a, b) => orderStatus.indexOf(orderStatus.find(item => item.name === a.status)) - orderStatus.indexOf(orderStatus.find(item => item.name === b.status)));

在上面的代码中,sort()方法使用indexOf()方法来查找每个订单的状态在orderStatus数组中的索引位置,然后按照该位置对orders数组进行排序。

最终排序后的orders数组如下所示:

[
  {id: 1, name: 'order1', status: 'unpaid'},
  {id: 4, name: 'order4', status: 'unpaid'},
  {id: 2, name: 'order2', status: 'shipped'},
  {id: 5, name: 'order5', status: 'shipped'},
  {id: 3, name: 'order3', status: 'cancelled'}
]

相关内容

热门资讯

俱乐部1分钟!德州扑克ai机器... 俱乐部1分钟!德州扑克ai机器人governorofpoker3辅助(一贯真的有挂)-小红书1、打开...
计算器十分钟!微扑克有计算器微... 计算器十分钟!微扑克有计算器微扑克俱乐部24小时(一贯真的有挂)-哔哩哔哩1.微扑克俱乐部24小时 ...
AI四分钟!nzt德州辅助软件... AI四分钟!nzt德州辅助软件来玩app辅助(的确是有挂的)-小红书;1、nzt德州辅助软件系统规律...
胜率一分钟!红龙poker正规... 胜率一分钟!红龙poker正规wepoke辅助挂(都是真的有挂)-今日头条1、操作简单,无需注册,只...
挂五分钟!德扑之星ai代打德扑... 挂五分钟!德扑之星ai代打德扑胜率最低的牌(就是真的有挂)-今日头条1、德扑胜率最低的牌机器人多个强...
AI六分钟!推扑克辅助器线上德... AI六分钟!推扑克辅助器线上德州辅助软件有用(就是真的有挂)-哔哩哔哩一、线上德州辅助软件有用AI软...
后台五分钟!wepoke辅助透... 后台五分钟!wepoke辅助透视是真的德扑ai机器人哪里有卖(本来真的有挂)-微博客户端1、实时德扑...
胜率五分钟!wpk机器人代打w... 胜率五分钟!wpk机器人代打wepkoe有外挂(的确是有挂的)-微博客户端;亲,关键说明,wpk机器...
德州版6分钟!德州wpk德州有... 德州版6分钟!德州wpk德州有挂微扑克辅助器是真的(本来真的有挂)-知乎小薇(透视辅助)致您一封信;...
游戏3分钟!德扑之星可以查数据... 游戏3分钟!德扑之星可以查数据德扑之星可以操作(一直真的有挂)-微博客户端1、德扑之星可以查数据系统...