以下为ChatGPT自动生成的解答,正确与否请自行判断。
BFE.devAI解答 - JavaScript 代码题
66. 去掉数组中的重复元素
function deduplicate(arr) {
// 使用ES6 Set数据结构去除重复元素
const dedupArr = [...new Set(arr)];
// 清空原数组
arr.length = 0;
// 将去重后的元素重新赋值给原数组
dedupArr.forEach((item) => arr.push(item));
}
或者使用Array.filter()
来实现:
function deduplicate(arr) {
arr.filter((item, index) => arr.indexOf(item) === index);
}
或者使用Array.reduce()
来实现:
function deduplicate(arr) {
const map = new Map();
arr.reduce((prev, curr) => (map.has(curr) ? prev : ((map.set(curr, true), prev.push(curr)), prev)), []);
}