1. ホーム
  2. javascript

[解決済み] オブジェクトの配列からすべての重複を削除するには?

2022-03-15 19:09:55

質問

オブジェクトの配列を含むオブジェクトがあります。

obj = {};

obj.arr = new Array();

obj.arr.push({place:"here",name:"stuff"});
obj.arr.push({place:"there",name:"morestuff"});
obj.arr.push({place:"there",name:"morestuff"});

配列から重複するオブジェクトを削除するのに最適な方法は何でしょうか? 例えば obj.arr は、次のようになります。

{place:"here",name:"stuff"},
{place:"there",name:"morestuff"}

解決方法は?

原始的な方法としては

const obj = {};

for (let i = 0, len = things.thing.length; i < len; i++) {
  obj[things.thing[i]['place']] = things.thing[i];
}

things.thing = new Array();

 for (const key in obj) { 
   things.thing.push(obj[key]);
}