防止数组添加重复元素

塔辛马希

我有这段代码:

var letters = ['A', 'B', 'C']
const letter1 = 'B'

for(var i=0; i<letters.length; i++) {
    var letter = letters[i]
    if (letter1 === letter) {
        console.log(letter)
        break
    } else {
        letters.push(letter1)
        break
    }
}

console.log(letters)

运行这段代码后,我得到了这个结果:

['A', 'B', 'C', 'B']

但我想要这个结果:

['A', 'B', 'C']

我怎样才能做到这一点?

樱花

最简单的解决方案是在推送之前检查该值是否在数组中:

if (!letters.includes(letter1)) letters.push(letter1)

如果要从数组中删除重复项,可以将其转换为 aSet并再次返回:

[...new Set(letters)]

或者,您可以只使用 aSet而不是数组,它用于存储唯一值:

const letters = new Set(['A', 'B', 'C'])
// Use add instead of push (there is no push method on Set)
letters.add(letter1)

如果您不想重复,我不确定为什么要将letter1( 'B')送到数组。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章