你不知道数组去重的方法有几种,有哪些??看过来!看过来!!都是简单易懂的~~

42 阅读1分钟

在许多编程语言中,有多种方法可以对数组进行去重操作。下面是一些常用的方法:

1. 使用 Set(集合)

许多编程语言提供了 Set 数据结构,它可以自动过滤重复元素。你可以将数组转换为 Set 来进行去重,然后再将其转换回数组(如果需要)。

示例(JavaScript):

let array = [1, 2, 2, 3, 4, 4, 5];
let uniqueArray = [...new Set(array)];
console.log(uniqueArray); // 输出 [1, 2, 3, 4, 5]

2. 使用对象/字典

遍历数组,将数组元素作为对象/字典的键(key),利用对象的唯一性去除重复元素。

示例(JavaScript):

let array = [1, 2, 2, 3, 4, 4, 5];
let uniqueArray = Array.from(new Set(array));
console.log(uniqueArray); // 输出 [1, 2, 3, 4, 5]

3. 使用循环

遍历数组,将每个元素与后面的元素进行比较,并去除重复的元素。

示例(JavaScript):

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

 4. 使用 filter 方法

利用数组的 filter 方法,保留第一次出现的元素,去除后续重复的元素。

示例(JavaScript):

let array = [1, 2, 2, 3, 4, 4, 5];
let uniqueArray = array.filter((value, index, self) => {
    return self.indexOf(value) === index;
});
console.log(uniqueArray); // 输出 [1, 2, 3, 4, 5]

5. 使用递归方法

编写一个递归函数来去除重复元素。

示例(JavaScript):

function removeDuplicates(arr) {
    if (arr.length === 0) {
        return [];
    }
    return [
        arr[0],
        ...removeDuplicates(arr.filter(item => item !== arr[0]))
    ];
}

let array = [1, 2, 2, 3, 4, 4, 5];
let uniqueArray = removeDuplicates(array);
console.log(uniqueArray); // 输出 [1, 2, 3, 4, 5]

这些方法都可以帮助你对数组进行去重操作,你可以根据自己的需求和所用的编程语言选择合适的方法。