PHP前端开发

js中数组如何去重

百变鹏仔 3天前 #JavaScript
文章标签 数组
在 javascript 中,有多种方法可以从数组中删除重复项:使用 set 数据结构:const uniquearray = [...new set(array)]使用 array.prototype.filter(): const uniquearray = array.filter((item, index) => array.indexof(item) === index)使用 array.prototype.reduce(): const uniquearray = ar

JavaScript 数组去重方法

在 JavaScript 中,有多种方法可以从数组中删除重复项,获得唯一元素组成的数组。

1. 使用 Set

Set 是一种内置的数据结构,它可以存储唯一值。可以通过以下步骤使用 Set 对数组去重:

const array = [1, 2, 3, 1, 2, 3];const uniqueArray = [...new Set(array)];

uniqueArray 将包含 [1, 2, 3] 的唯一值。

2. 使用 Array.prototype.filter()

filter() 方法可以过滤数组中的元素,仅保留满足指定条件的元素。对于去重,可以使用以下条件函数:

const uniqueArray = array.filter((item, index) => array.indexOf(item) === index);

该条件函数检查每个元素是否是数组中第一次出现。如果是,则保留该元素,否则忽略它。

3. 使用 Array.prototype.reduce()

reduce() 方法可以将数组中的元素累积为一个单一值。对于去重,可以使用以下reduce 函数:

const uniqueArray = array.reduce((acc, item) => {  if (!acc.includes(item)) {    acc.push(item);  }  return acc;}, []);

该reduce函数创建一个空数组 acc,然后遍历数组元素,如果 acc 中不包含当前元素 item,则将 item 添加到 acc 中。

4. 使用外循环和内循环

这是最直接但效率较低的方法。使用两个循环来比较数组中的每个元素,并删除重复项:

const uniqueArray = [];for (let i = 0; i <p>通过使用上述方法中的一种,您可以从 JavaScript 数组中有效地删除重复项,获得一个包含唯一元素的数组。</p>