私は比較する必要があるオブジェクト配列を含む配列を持っています。オブジェクトの配列を比較して重複を除去する
私は、複数の類似のスレッドを通して見てきたが、私は、オブジェクトの複数アレイ(大部分がオブジェクトの二つの配列を比較するか、単に単一のアレイ内のオブジェクトを比較している)とを比較し、適切なものを見つけることができませんでした
これは、データ(以下JSFiddleはコードサンプルである)私はの長さに関係なく、オブジェクトのすべての重複配列を除去したい
const data = [
[
{
"id": "65",
"name": "Some object name",
"value": 90
},
{
"id": "89",
"name": "Second Item",
"value": 20
}
],
[
{
"id": "89",
"name": "Second Item",
"value": 20
},
{
"id": "65",
"name": "Some object name",
"value": 90
}
],
[
{
"id": "14",
"name": "Third one",
"value": 10
}
]
]
あります(さらに多くのレコードがある可能性があります)。
は私がオブジェクトに抽出ユニークなものを得ることができた:私は維持すると返されたデータを配列する重複配列の1を必要とするので、しかし私のために動作しませんconst unique = data.reduce(function(result, obj) {
return Object.assign(result, obj)
}, [])
同様に、オブジェクトの代わりに。例えば:
// result I need
[
[
{
"id":"65",
"name":"Some object name",
"value":90
},
{
"id":"89",
"name":"Second Item",
"value":20
}
],
[
{
"id":"14",
"name":"Third one",
"value":10
}
]
]
それでは、どのように私は、親配列内の他の人に各オブジェクトの配列を比較し、各オブジェクトの重複やユニークな配列の1を維持するのですか?
使用すると、1つまたは複数のアレイで検索している場合は、オブジェクトの複製を検索する概念は、どんなに同じまま。 – Cerbrus
実際にはもっと複雑に見えますが、それ以外の場合は、単純に**複数のオブジェクトを1つの配列にフィルタリングするための何百もの回答に基づいています。リンクした質問にも同じことが起こりますが、このユースケースを満たすことはできません。 – abpetkov
内部配列が順番に見えるため、これがリンクされたものと重複しているかどうかわからないので、比較する前にソートする必要があります。 いくつかのlodash関数--uniqWith'と 'sortBy'を使って解決策をまとめました: https://jsbin.com/terelef/2/edit?js,console – grahamlyons