按照另一个对象数组的键值对对对象数组进行排序
创始人
2024-08-24 17:00:44
0

假设有两个对象数组,分别为arr1和arr2,其中arr1需要按照arr2中的某个键的值进行排序。

  1. 首先,我们可以使用Array.sort()方法来对arr1进行排序,该方法可以接收一个比较函数作为参数。

  2. 在比较函数中,我们可以使用Array.indexOf()方法来找到arr2中某个对象的索引位置,然后将该对象的键值对作为排序的条件。

下面给出示例代码:

const arr1 = [
  {id: 1, name: 'John'},
  {id: 2, name: 'Alice'},
  {id: 3, name: 'Bob'}
];

const arr2 = [
  {id: 2, order: 2},
  {id: 3, order: 1},
  {id: 1, order: 3}
];

arr1.sort((a, b) => {
  const aIndex = arr2.findIndex(obj => obj.id === a.id);
  const bIndex = arr2.findIndex(obj => obj.id === b.id);
  return arr2[aIndex].order - arr2[bIndex].order;
});

console.log(arr1);

在上面的代码中,我们使用了findIndex()方法来查找arr2中对象的索引值,并使用该对象的order键值对进行arr1的排序。最后的结果是:

[
  {id: 3, name: 'Bob'},
  {id: 2, name: 'Alice'},
  {id: 1, name: 'John'}
]

相关内容

热门资讯

盘点一款(欢乐棋牌有外挂)透视... 盘点一款(欢乐棋牌有外挂)透视辅助(透视)原来真的有挂(有挂技巧)-哔哩哔哩;亲,其实确实真的有挂(...
今日百科!德州ai软件购买(辅... 今日百科!德州ai软件购买(辅助挂)原来真的有挂(详细教程)(有挂攻略)-哔哩哔哩;精心打造了俱乐部...
重大通报(智星德州菠萝有挂)透... 重大通报(智星德州菠萝有挂)透视辅助(透视)果真是真的有挂(有挂教程)-哔哩哔哩;玩家必备必赢加哟《...
透视模拟器!哈糖大菠萝拿好牌(... 透视模拟器!哈糖大菠萝拿好牌(透视)确实真的有挂(详细教程)(有挂了解)-哔哩哔哩;玩家必备必赢加哟...
技巧知识分享!cloudpok... 技巧知识分享!cloudpoker云扑克,gg扑克有问题,确实是真的有挂(有挂了解)-哔哩哔哩准备好...
盘点一款(德州poker外挂)... 盘点一款(德州poker外挂)辅助透视(透视)竟然是真的有挂(有挂教学)-哔哩哔哩;原来确实真的有挂...
透视辅助!x-poker辅助软... 透视辅助!x-poker辅助软件(透视)确实是真的有挂(详细教程)(有挂教学)-哔哩哔哩;免费x-p...
每日必看教程(fishpoke... 每日必看教程(fishpoker大菠萝外挂)辅助透视(辅助挂)竟然真的有挂(有挂详情)-哔哩哔哩;玩...
透视智能ai!智星德州菠萝有挂... 透视智能ai!智星德州菠萝有挂,德扑之星操作,确实真的有挂(有挂详情)-哔哩哔哩智星德州菠萝有挂平台...
六分钟了解!智星德州有挂(透视... 六分钟了解!智星德州有挂(透视)确实是真的有挂(详细教程)(有挂攻略)-哔哩哔哩是一款可以让一直输的...