オブジェクトの配列から重複した値を持つ要素を削除する方法。
毎回やり方を忘れるのでメモ。
removeOverlapValue.js
var overlapped = [
{ key: "value" },
{ key: "value2" },
{ key: "value" } // 削除対象
];
var values = [];
var no_overlapped = overlapped.filter(e => {
if (values.indexOf(e["key"]) === -1) {
// values に値が存在しない要素のみをフィルタリング
values.push(e["key"]);
return e;
}
});
/*
* { key: "value" },
* { key: "value2" }
*/