はじめに
解説なしですが、期待する挙動が確認できたコードだけでも共有しておきます。
何かの役に立ててもらえれば、嬉しいです。
本日のコード
①nameが重複したものを除外
const a = [
{ name: "太郎" ,age: 10 },
{ name: "二郎" ,age: 20 },
{ name: "三郎" ,age: 30 },
{ name: "四郎" ,age: 40 },
{ name: "太郎" ,age: 10 }, // nameもageも重複
{ name: "太郎" ,age: 20 }, // nameだけ重複
{ name: "五郎" ,age: 10 }, // ageだけ重複
];
let values = [];
let b = a.filter(e => {
if (values.indexOf(e["name"]) === -1) {
// values に値が存在しない要素のみをフィルタリング
values.push(e["name"]);
return e;
}
});
console.log(b);
});
①実行結果
[ { name: '太郎', age: 10 },
{ name: '二郎', age: 20 },
{ name: '三郎', age: 30 },
{ name: '四郎', age: 40 },
{ name: '五郎', age: 10 } ]
②ageが重複したものを除外
const a = [
{ name: "太郎" ,age: 10 },
{ name: "二郎" ,age: 20 },
{ name: "三郎" ,age: 30 },
{ name: "四郎" ,age: 40 },
{ name: "太郎" ,age: 10 }, // nameもageも重複
{ name: "太郎" ,age: 20 }, // nameだけ重複
{ name: "五郎" ,age: 10 }, // ageだけ重複
];
let values = [];
let c = a.filter(e => {
if (values.indexOf(e["age"]) === -1) {
// values に値が存在しない要素のみをフィルタリング
values.push(e["age"]);
return e;
}
});
console.log(c);
②実行結果
[ { name: '太郎', age: 10 },
{ name: '二郎', age: 20 },
{ name: '三郎', age: 30 },
{ name: '四郎', age: 40 } ]