我有一些对象的数组
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’]
我能够删除重复项,但不知道如何在不对当前方法进行太多更改的情况下更改顺序。如果有人能帮助我,非常感谢!
您还可以使用
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()
即可。