gpt4 book ai didi

javascript - 如何返回数组中没有重复项的数组?

转载 作者:行者123 更新时间:2023-11-28 14:16:31 25 4
gpt4 key购买 nike

我有一个数组,其中包含多个特定汽车。我试图返回一个数组,其中包含每个项目之一,没有重复项。

我有一段正常运行的代码,使用 if...else 格式,但无法在 JavaScript 中使用条件语句获得相同的结果。它说 list.includes(automobile) 不是一个函数。

const data = ['car', 'car', 'truck', 'truck', 'bike', 'walk', 'car', 'van', 'bike', 'walk', 'car', 'van', 'car', 'truck'];
let noDuplicates = data.reduce((list, automobile) => {
if (list.includes(automobile)) {
return list
} else {
return [...list, automobile]
}
}, []);

console.log(noDuplicates)

这个带有 if...else 的版本可以工作,但是我很难通过条件语句获得相同的结果,如下所示:

const data = ['car', 'car', 'truck', 'truck', 'bike', 'walk', 'car', 'van', 'bike', 'walk', 'car', 'van', 'car', 'truck'];
let noDuplicates = data.reduce((list, automobile) => {
list.includes[automobile] ? list : [...list, automobile]
}, []);

console.log(noDuplicates)

我认为我可能缺少一些括号,或者在错误的位置,但它对我来说似乎是正确的。 if...else 语句返回的正是我正在寻找的内容,["car", "truck", "bike", "walk", "van"] ,但条件语句不是。

最佳答案

Why my code is not working ?

  • 缺少 return 语句
  • list.includes[automobile] 这应该是 list.includes(automobile)

const data = ['car', 'car', 'truck', 'truck', 'bike', 'walk', 'car', 'van', 'bike', 'walk', 'car', 'van', 'car', 'truck'];
let noDuplicates = data.reduce((list, automobile) => {
return list.includes(automobile) ? list : [...list, automobile]
}, []);

console.log(noDuplicates)

<小时/>

您只需使用Set

const data = ['car', 'car', 'truck', 'truck', 'bike', 'walk', 'car', 'van', 'bike', 'walk', 'car', 'van', 'car', 'truck' ];
let unique = [...new Set(data)]

console.log(unique)

关于javascript - 如何返回数组中没有重复项的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57193414/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com