在 JavaScript 中,有多种方法可以对数组进行去重。以下是一些建议的方法,以及它们的优缺点:
function uniqueArray(arr) {
return [...new Set(arr)];
}
优点:简洁,易读。 缺点:Set 是 ES6 新引入的数据结构,不支持旧版浏览器。
function uniqueArray(arr) {
return arr.filter((item, index) => {
return arr.indexOf(item) === index;
});
}
优点:兼容性好,适用于所有版本的 JavaScript。 缺点:代码相对较长。
function uniqueArray(arr) {
return arr.reduce((accumulator, currentValue) => {
if (!accumulator.includes(currentValue)) {
accumulator.push(currentValue);
}
return accumulator;
}, []);
}
优点:兼容性好,适用于所有版本的 JavaScript。 缺点:代码相对较长。
function uniqueArray(arr) {
const result = [];
for (let i = 0; i < arr.length; i++) {
let isUnique = true;
for (let j = i + 1; j < arr.length; j++) {
if (arr[i] === arr[j]) {
isUnique = false;
break;
}
}
if (isUnique) {
result.push(arr[i]);
}
}
return result;
}
优点:兼容性好,适用于所有版本的 JavaScript。 缺点:代码冗长,效率较低。
根据你的需求和浏览器兼容性要求,可以选择合适的方法进行数组去重。在现代浏览器中,推荐使用 Set 方法,因为它简洁且高效。