1.通常のアレイ、ES6セットを使用して重複を削除します
function Deduplication(arr){
return Array.from(new Set(arr));
}
或者
function Deduplication(arr){
return [...new Set(arr)];
}
let arrs = ["aaa", "aaa", "san", "www", "san"];
console.log(Deduplication(arr)) // ["aaa", "san", "www"]
参照:GitBook
2つ目は、名前に応じて、重複を削除する配列オブジェクトです。
- 配列オブジェクトにデータをインストールするために使用されるオブジェクトobjを定義します。キーは名前、値はブール値、結果は結果をインストールするために定義されます。
- データをトラバースするときに、名前が初めて表示され、データを結果にプッシュします。
//根据name,给数组对象去重
function Deduplication(arrs) {
var obj = {
};
let result = [];
arrs.forEach(val => {
if (!obj[val.name]) {
// 说明 name第一次出现,
obj[val.name] = true; // obj的键为数据name,值为true,代表该name出现了,此次就不会进if,故不会将出现过的name再次push到result中了。
result.push(val);
}
});
return result;
}
let arrs = [
{
name: "aaa" },
{
name: "aaa" },
{
name: "san" },
{
name: "www" },
{
name: "san" }
];
console.log(Deduplication(arrs)) // [{name: "aaa"}, {name: "san"}, {name: "www"}]