防止数组添加重复元素 [英] Preventing array from adding duplicate element

查看:60
本文介绍了防止数组添加重复元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这段代码:

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)

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

After running this code, I got this result:

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

但是我想要这个结果:

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

我该怎么做?

推荐答案

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

The simplest solution is to check if the value is in the array before pushing it:

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

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

If you want to remove duplicates from an array, you can convert it to a Set and back again:

[...new Set(letters)]

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

Alternatively, you could just use a Set instead of an array, which is meant for storing unique values:

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


如果您不希望重复,我不确定为什么要将 letter1 ('B')推入数组.

这篇关于防止数组添加重复元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆