gpt4 book ai didi

javascript - 编写一个通用实用程序,可以从 javascript 中的任何数组中删除重复项

转载 作者:行者123 更新时间:2023-11-28 14:40:05 25 4
gpt4 key购买 nike

我正在编写一个通用实用程序,它将从 JavaScript 数组中删除重复项。我有以下代码,其中所需的内容实际上有效。然后我想把它变成一个实用程序。第一个代码块有效,第二个代码块是实用程序,第三个代码块是我尝试应用该实用程序的方式(不起作用 - 数组中的重复项仍然出现)。任何见解将不胜感激。

//Code without utility - works//
var productArr = [];
for (var p in theData) {
var theProduct = theData[p];
var theProductSelect = productArr.filter(function(value, index, self) {
return self.indexOf(value) === index;
});
productArr.push(theProduct.name);
}

//Here's the utility I am trying to write
publicMethods.deDuplicate = function(array, key, type) {
var providedArray = [];
var uniqueArray = providedArray.filter(function(value, index, self) {
return self.indexOf(value) === index;
return providedArray;
});
};

//Code with Utility - duplicates still appear
var productArr = [];
for (var p in theData) {
var theProduct = theData[p];
productArr.push(theProduct.name);
publicMethods.deDuplicate(productArr)
}

最佳答案

两种选择:

let arr = [1, 2, 3, 4, 1, 2, 3];

const getUnique = (arr) => {
return Array.from(new Set(arr));
}

const getUniqueAlt = (arr) => {
return arr.reduce((acc, cur) => {
if(acc.indexOf(cur) == -1) {
acc.push(cur);
}

return acc;
}, [])
}

console.log(getUnique(arr))
console.log(getUniqueAlt(arr));

https://jsfiddle.net/z1w775y1/

不适用于对象数组

关于javascript - 编写一个通用实用程序,可以从 javascript 中的任何数组中删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48304368/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com