JavaScriptで配列内の重複値を削除する方法


  1. Setを使用する方法:

    const array = [{id: 1}, {id: 2}, {id: 1}, {id: 3}];
    const uniqueArray = [...new Set(array.map(obj => JSON.stringify(obj)))].map(str => JSON.parse(str));
    console.log(uniqueArray);
    // 出力: [{id: 1}, {id: 2}, {id: 3}]
  2. filterとindexOfを組み合わせる方法:

    const array = [{id: 1}, {id: 2}, {id: 1}, {id: 3}];
    const uniqueArray = array.filter((obj, index, self) =>
    index === self.findIndex(item => JSON.stringify(item) === JSON.stringify(obj))
    );
    console.log(uniqueArray);
    // 出力: [{id: 1}, {id: 2}, {id: 3}]
  3. reduceを使用する方法:

    const array = [{id: 1}, {id: 2}, {id: 1}, {id: 3}];
    const uniqueArray = array.reduce((accumulator, obj) => {
    const stringifiedObj = JSON.stringify(obj);
    if (!accumulator.includes(stringifiedObj)) {
    accumulator.push(stringifiedObj);
    }
    return accumulator;
    }, []).map(str => JSON.parse(str));
    console.log(uniqueArray);
    // 出力: [{id: 1}, {id: 2}, {id: 3}]

これらの方法は、与えられた配列内のオブジェクトの重複値を効率的に削除するための一般的な手法です。選択した方法に応じて、適切なコード例を選択して使用してください。

以上が、JavaScriptで配列内の重複値を削除する方法の解説です。