JavaScript: как объединить два массива без повторяющихся значений

Чтобы объединить два массива в JavaScript без включения повторяющихся значений, вы можете использовать различные методы. Вот несколько подходов:

  1. Использование объекта Set и оператора распространения:

    const array1 = [1, 2, 3];
    const array2 = [2, 3, 4];
    const combinedArray = [...new Set([...array1, ...array2])];
    console.log(combinedArray); // Output: [1, 2, 3, 4]
  2. Использование метода Array.concat() и метода filter():

    const array1 = [1, 2, 3];
    const array2 = [2, 3, 4];
    const combinedArray = array1.concat(array2.filter(item => !array1.includes(item)));
    console.log(combinedArray); // Output: [1, 2, 3, 4]
  3. Использование метода Array.reduce() и объекта в качестве временного хранилища:

    const array1 = [1, 2, 3];
    const array2 = [2, 3, 4];
    const combinedArray = [...array1, ...array2].reduce((accumulator, value) => {
    if (!accumulator[value]) {
    accumulator[value] = true;
    }
    return accumulator;
    }, []);
    console.log(combinedArray); // Output: [1, 2, 3, 4]
  4. Использование цикла for и объекта в качестве временного хранилища:

    const array1 = [1, 2, 3];
    const array2 = [2, 3, 4];
    const combinedArray = [];
    const tempStorage = {};
    for (const item of [...array1, ...array2]) {
    if (!tempStorage[item]) {
    combinedArray.push(item);
    tempStorage[item] = true;
    }
    }
    console.log(combinedArray); // Output: [1, 2, 3, 4]