如何更改数组中某些对象的顺序

问题描述 投票:0回答:1

我有一些对象的数组

array = [{‘code’:’a’, ‘number’:’1’},
 {‘code’:’b’, ‘number’:’2’},
 {‘code’:’d, ‘number’:’3’},
 {‘code’:’d’, ‘number’:’3’},
 {‘code’:’f, ‘number’:’5’},
 {‘code’:’f’, ‘number’:’5’},
 {‘code’:’c’, ‘number’:’4’},
 {‘code’:’e, ‘number’:’5’}]

我希望预期的输出是

[‘a’,’b’,’c’,'d','f',’e’]
array.filter((values, index, self) => index === self.findIndex(i => i.code === values.code)).map(values => values.code))

当前结果是:

[‘a’,’b’,’d’,'f',’c’,’e’]

我能够删除重复项,但不知道如何在不对当前方法进行太多更改的情况下更改顺序。如果有人能帮助我,非常感谢!

javascript arrays
1个回答
0
投票

您还可以使用

Set()

如果您希望原订单保持原样:




<!-- language: lang-js -->

    const array = [
      { code: "a", number: "1" },
      { code: "b", number: "2" },
      { code: "d", number: "3" },
      { code: "d", number: "3" },
      { code: "c", number: "4" },
      { code: "e", number: "5" },
    ];

    console.log([...new Set(array.map((el) => el.code))]);


<!-- end snippet -->


如果您需要排序的顺序。之后您只需使用

sort()
即可。

© www.soinside.com 2019 - 2024. All rights reserved.