JavaScript中数组去重的5种方法是什么

在JavaScript中,有多种方法可以去除数组中的重复元素,下面将介绍五种常见的方法,并使用小标题和单元表格进行详细说明:

JavaScript中数组去重的5种方法是什么
(图片来源网络,侵删)

1. 使用Set对象去重

const arr = [1, 2, 3, 4, 4, 5];
const uniqueArr = [...new Set(arr)];
console.log(uniqueArr); // 输出: [1, 2, 3, 4, 5]

2. 使用filter方法去重

const arr = [1, 2, 3, 4, 4, 5];
const uniqueArr = arr.filter((item, index) => {
  return arr.indexOf(item) === index;
});
console.log(uniqueArr); // 输出: [1, 2, 3, 4, 5]

3. 使用reduce方法去重

const arr = [1, 2, 3, 4, 4, 5];
const uniqueArr = arr.reduce((accumulator, item) => {
  if (!accumulator.includes(item)) {
    accumulator.push(item);
  }
  return accumulator;
}, []);
console.log(uniqueArr); // 输出: [1, 2, 3, 4, 5]

4. 使用for循环和indexOf方法去重

const arr = [1, 2, 3, 4, 4, 5];
const uniqueArr = [];
for (let i = 0; i < arr.length; i++) {
  if (uniqueArr.indexOf(arr[i]) === 1) {
    uniqueArr.push(arr[i]);
  }
}
console.log(uniqueArr); // 输出: [1, 2, 3, 4, 5]

5. 使用双重for循环和splice方法去重

const arr = [1, 2, 3, 4, 4, 5];
for (let i = 0; i < arr.length; i++) {
  for (let j = i + 1; j < arr.length; j++) {
    if (arr[i] === arr[j]) {
      arr.splice(j, 1);
      j; // 因为删除了一个元素,需要将索引减一,重新检查当前元素是否重复
    }
  }
}
console.log(arr); // 输出: [1, 2, 3, 4, 5]

以上是JavaScript中常用的五种数组去重方法,根据实际需求和代码的简洁性,可以选择适合自己的方法进行使用。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/409630.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希新媒体运营
上一篇 2024-03-30 09:22
下一篇 2024-03-30 09:24

相关推荐

  • 如何管理和保护来自不同网站的Cookie?

    不同网站的cookie是独立的,每个网站都使用自己的cookie来存储用户信息,如登录状态、偏好设置等。这些cookie不会相互干扰或共享数据。

    2024-11-29
    01
  • 如何进行不同数据库之间的SQL转换?

    不同数据库的SQL转换涉及将一种数据库系统的查询语言转换为另一种数据库系统的语言,以实现跨数据库的数据操作和查询。

    2024-11-29
    012
  • 如何用不到200行JavaScript代码实现一个富文本编辑器?

    实现一个富文本编辑器需要处理多种功能,如文本格式化、插入图片、链接等。以下是一个简单的示例代码,展示如何用不到200行JavaScript代码实现一个基本的富文本编辑器:,,“html,,,,,Simple Rich Text Editor,, #editor { border: 1px solid #ccc; padding: 10px; width: 500px; height: 300px; }, .toolbar button { margin-right: 5px; },,,,,Bold,Italic,Underline,Bullet List,Numbered List,Link,Image,,,,, function execCmd(command, value = null) {, document.execCommand(command, false, value);, },,,,`,,这个简单的富文本编辑器包含以下功能:,加粗 (bold),斜体 (italic),下划线 (underline),无序列表 (insertUnorderedList),有序列表 (insertOrderedList),插入链接 (createLink),插入图片 (insertImage`),,通过点击工具栏上的按钮,可以执行相应的命令来编辑内容。

    2024-11-29
    013
  • 如何确保不同网络环境下的设备能够正确识别和通信?

    不同的网络可以有不同的地址,每个网络的地址都是唯一的。

    2024-11-29
    05

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入