js实现两个数组,一个数组根据另一个数组中某个元素的顺序排序

394 阅读1分钟

list2中的元素对应list1中的id,初始状态下list2排序是随机的,将list2按照list1的id的顺序进行排序
实现方法:首先使用sort方法按照list1中id的顺序进行排序,然后使用findIndex方法获取list1中对应的索引

const list1 = [
  {
    id: 1804,
    status: 0,
  },
  {
    id: 1560,
    status: 0,
  },
  {
    id: 2533,
    status: 0,
  },
  {
    id: 9601,
    status: 0,
  }
];

let list2 = [9601, 1560, 1804];

list2 = list2.sort((a, b) => list1.findIndex(item => item.id === a) - list1.findIndex(item => item.i === b));

console.log(list2); // [ 180404,15605,96013, ]