JavaScript 中防止向数组添加重复项
JavaScript 中要防止向数组添加重复项:
-
使用
Array.includes()
方法检查数组中是否不存在该值。 -
如果该值不存在,则使用
push()
方法将其添加到数组中。 - 该数组将不包含任何重复值。
const arr = ['apple', 'pear', 'mango'];
const str = 'apple';
if (!arr.includes(str)) {
// ✅ only runs if value not in array
arr.push(str);
}
console.log(arr); // 👉️ ['apple', 'pear', 'mango']
我们传递给 Array.includes
方法的唯一参数是要在数组中搜索的值。
includes()
方法返回一个布尔结果:
- 如果值存在于数组中则为真
- 如果不是,则为假
我们使用逻辑 NOT
!
运算符来否定对includes()
方法的调用,因为我们只想在数组中不存在该值时才添加该值。
以下是使用逻辑 NOT !
运算符的更多示例。
console.log(!true); // 👉️ false
console.log(!false); // 👉️ true
console.log(!'hello'); // 👉️ false
console.log(!''); // 👉️ true
console.log(!null); // 👉️ true
我们可以想象逻辑 NOT !
运算符首先将值转换为布尔值,然后翻转它。
当我们否定一个假值时,运算符返回真,在所有其他情况下它返回假。
Falsy 值为:null 、undefined 、空字符串 、NaN 、0 和 false。
使用 indexOf 防止将重复项添加到数组中
要防止向数组添加重复项:
-
使用
indexOf()
方法检查该值是否不存在于数组中。 -
如果该值不包含在数组中,则
indexOf
方法返回 -1。 - 如果满足条件,则将值推送到数组。
const arr = ['apple', 'pear', 'mango'];
const str = 'apple';
if (arr.indexOf(str) === -1) {
arr.push(str);
}
console.log(arr); // 👉️ ['apple', 'pear', 'mango']
Array.indexOf
方法返回值在数组中第一次出现的索引。
如果数组中不存在该值,则返回 -1。
if 语句检查
indexOf
方法是否返回 -1。 如果是,则该值不存在于数组中,因此我们使用push()
方法。
另一种方法是使用 Set 对象而不是数组。
Set 对象存储唯一值的集合。 这使得不可能向 Set 添加重复值。
const str = 'apple';
const set1 = new Set(['apple', 'pear', 'mango']);
set1.add(str);
console.log(set1); // 👉️ {'apple', 'pear', 'mango'}
我们使用 Set.add
方法向 Set 添加一个值。
该值已包含在 Set 中,因此我们对 add 方法的调用没有执行任何操作。
Set 对象比数组更受限制,实现的方法也更少。 但是,它们有自己的用例,存储唯一值是主要的用例。
相关文章
在 C 语言中获取字符数组的长度
发布时间:2023/05/07 浏览次数:166 分类:C语言
-
本文演示了如何在 C 语言中获取一个 char 数组的长度。使用 sizeof 运算符来查找字符数组的长度 数组的大小可以用 sizeof 运算符计算,而不考虑元素的数据类型。
如何在 C 语言中获取数组的大小
发布时间:2023/05/07 浏览次数:92 分类:C语言
-
本教程介绍了 C 语言中确定数组大小的方法。本教程介绍了在 C 语言中使用 sizeof()运算符的方法。
C 语言中复制字符数组
发布时间:2023/05/07 浏览次数:117 分类:C语言
-
本文介绍了如何在 C 语言中复制字符数组。使用 memcpy 函数在 C 语言中复制一个字符数组 char 数组可能是 C 代码中最常用的数据结构,复制数组内容是它的核心操作之一。
Django ArrayField 数组字段
发布时间:2023/05/04 浏览次数:167 分类:Python
-
在本文中,我们将学习在 Django 数据库模型中使用 ArrayFields。Django中的ArrayField类似于Java、C、C++等其他编程语言中的数组数据结构,存储相同数据类型的多个值。
计算 Java 数组中的重复元素
发布时间:2023/05/01 浏览次数:202 分类:Java
-
本篇文章介绍Java计算数组中重复元素的方法。计算 Java 数组中的重复元素。我们可以创建一个程序来计算数组中的重复元素。 该数组可以是未排序的,也可以是已排序的。
使用 CSS 和 JavaScript 制作文本闪烁
发布时间:2023/04/28 浏览次数:146 分类:CSS
-
本文提供了使用 CSS、JavaScript 和 jQuery 使文本闪烁的详细说明。
如何在 C++ 中把字符串转换为 Char 数组
发布时间:2023/04/09 浏览次数:107 分类:C++
-
本文介绍了在 C++ 中把字符串转换为 char 数组的多种方法。使用 std::basic_string::c_str 方法将字符串转换为 char 数组