mapを使った配列の重複削除の実装
JavaScriptの配列で重複削除をしたいのです。
例えばarray = [item0, item1, item2, item3 ...]として、itemはそれぞれに主キーとUserIDと値を持ちます。主キーはもちろんユニークですが、UserIDは重複する場合があり、UserIDが重複するitemは配列から削除したいのです。 現時点では同じユーザーが複数の値を配列に入れており、値の数が配列のサイズになっていますが、これをユーザーの数にしたいのです。
mapを使い、UserIDをキーにして、同じUserIDが来た際には値を上書きして(値自体はなんでも良いのでいくら上書きしても構わない)、そのmapを配列に直すという方法を試したいのですが、コードがうまく書けません。ちなみに処理を軽くしたいのでループは可能な限り使いたくはありません。
どなたか教えてくれませんか?
const array = [item0, item1, item2, item3, item4 ...];
if (array !== undefined && array.length != 0){
const map = new Map();
array.forEach((element) => {
map.set(element.get('userID'), element)
})
};
こう書けば、mapの中にUserIDが重複しないitemを入れることはできます。
今度はmapの値だけを、元のarrayに更新せなばなりませんが、そのやり方がちょっと分からないです。