0 %

JavaScript 如何从数组中删除重复元素

2026-02-28 02:37:00

JavaScript 如何从数组中删除重复元素

在本文中,我们将讨论从JavaScript数组中删除重复元素的方法。有多种方法可以删除数组中的重复项。

以下是几种方式:

使用 filter()方法

使用 set()方法

使用 reduce()方法

使用 indexOf()方法

使用 forEach()方法

使用 Underscore.js _.uniq()函数

下面以适当的示例描述了所有方法:

方法1:使用filter()方法

filter()方法创建一个通过我们提供的条件的元素新数组。它只包含返回true的元素。我们可以通过调整条件来删除数组中的重复值。

示例: 在此示例中,我们将看到filter()方法的用法。

Javascript

let arr = ["apple", "mango", "apple",

"orange", "mango", "mango"];

function removeDuplicates(arr) {

return arr.filter((item,

index) => arr.indexOf(item) === index);

}

console.log(removeDuplicates(arr));

输出:

["apple", "mango", "orange"]

方法2:使用set()方法

这个方法在ES6(ES2015)中设置了一种新的对象类型,允许你创建一组唯一的值。

示例: 在这个示例中,我们将看到set()方法的使用。

Javascript

let arr = ["apple", "mango", "apple",

"orange", "mango", "mango"];

function removeDuplicates(arr) {

return [...new Set(arr)];

}

console.log(removeDuplicates(arr));

输出:

["apple", "mango", "orange"]

方法3:使用 forEach() 方法

通过使用 forEach() 方法,我们可以遍历数组中的元素,并在新数组中加入不存在于数组中的元素。

示例: 在这个示例中,我们将展示如何使用 forEach() 方法。

Javascript

let arr = ["apple", "mango",

"apple", "orange", "mango", "mango"];

function removeDuplicates(arr) {

let unique = [];

arr.forEach(element => {

if (!unique.includes(element)) {

unique.push(element);

}

});

return unique;

}

console.log(removeDuplicates(arr));

输出:

["apple", "mango", "orange"]

方法 4: 使用 reduce() 方法

reduce() 方法用于减少数组元素并根据传入的 reducer 函数将它们组合成一个最终数组。

示例: 在这个示例中,我们将看到如何使用 reduce() 方法。

Javascript

let arr = ["apple", "mango",

"apple", "orange", "mango", "mango"];

function removeDuplicates(arr) {

let unique = arr.reduce(function (acc, curr) {

if (!acc.includes(curr))

acc.push(curr);

return acc;

}, []);

return unique;

}

console.log(removeDuplicates(arr));

输出:

["apple", "mango", "orange"]

方法5:使用 indexOf() 方法

indexOf() 方法用于找到数组元素的第一个出现的索引。我们可以遍历数组中的元素,如果它在结果数组中不存在,就将其推入新数组。

示例: 在这个示例中,我们将看到如何使用 indexOf() 方法。

Javascript

let arr = ["apple", "mango",

"apple", "orange", "mango", "mango"];

function removeDuplicates(arr) {

let unique = [];

for (i = 0; i < arr.length; i++) {

if (unique.indexOf(arr[i]) === -1) {

unique.push(arr[i]);

}

}

return unique;

}

console.log(removeDuplicates(arr));

输出:

['apple', 'mango', 'orange']

方法6:使用第三方库

我们也可以使用第三方库,例如Lodash或Underscore.js,从Javascript数组中去除重复的元素。_.uniq()函数返回不包含重复元素的数组。

示例: 在这个示例中,我们将使用_.uniq()函数。

Javascript

// Requiring the lodash library

const _ = require("lodash");

// Original array

let y = ([1, 2, 2, 3, 4, 3, 8, 6]);

// Use of _.uniq()

// method

let gfg = _.uniq(y);

// Printing the output

console.log(gfg);

输出:

[ 1, 2, 3, 4, 8, 6 ]

Posted in 世界杯葡萄牙阵容
Copyright © 2088 2034年世界杯_足球中国世界杯预选赛 - qdhuaxue.com All Rights Reserved.
友情链接