7 эффективных способов добавить уникальные элементы в массив за один раз

Массивы — это фундаментальная структура данных в программировании, и часто мы сталкиваемся со сценариями, когда нам нужно добавлять элементы в массив без повторения. В этой статье мы рассмотрим различные методы эффективного достижения этой цели. Итак, приступим!

Метод 1: использование структуры данных Set
Один из самых простых способов добавления уникальных элементов в массив — использование структуры данных Set. Наборы хранят только уникальные значения, автоматически удаляя любые дубликаты. Вот пример на JavaScript:

const array = [1, 2, 3];
const elementToAdd = 2;
const set = new Set(array);
set.add(elementToAdd);
const newArray = Array.from(set);
console.log(newArray);

Метод 2: проверка на наличие дубликатов
Другой подход заключается в переборе массива и проверке наличия элемента перед его добавлением. Вот пример на Python:

array = [1, 2, 3]
element_to_add = 2
if element_to_add not in array:
    array.append(element_to_add)
print(array)

Метод 3: использование Array.prototype.includes()
В JavaScript вы можете воспользоваться методом includes()для проверки наличия дубликатов перед добавлением элементов в массив:

const array = [1, 2, 3];
const elementToAdd = 2;
if (!array.includes(elementToAdd)) {
    array.push(elementToAdd);
}
console.log(array);

Метод 4: использование Array.prototype.indexOf()
Похоже на includes(), вы можете использовать indexOf()в JavaScript для проверки дубликатов:

const array = [1, 2, 3];
const elementToAdd = 2;
if (array.indexOf(elementToAdd) === -1) {
    array.push(elementToAdd);
}
console.log(array);

Метод 5: использование временного набора
В языках, в которых нет встроенных структур данных Set, вы можете создать временный набор для хранения уникальных элементов перед преобразованием его обратно в массив. Вот пример на Java:

import java.util.*;
public class Main {
    public static void main(String[] args) {
        List<Integer> array = new ArrayList<>(Arrays.asList(1, 2, 3));
        int elementToAdd = 2;
        Set<Integer> set = new HashSet<>(array);
        set.add(elementToAdd);
        List<Integer> newArray = new ArrayList<>(set);
        System.out.println(newArray);
    }
}

Метод 6: использование Lodash (JavaScript)
Если вы работаете с JavaScript, вы можете использовать популярную библиотеку Lodash, которая обеспечивает краткий способ добавления уникальных элементов в массив:

const _ = require('lodash');
const array = [1, 2, 3];
const elementToAdd = 2;
const newArray = _.union(array, [elementToAdd]);
console.log(newArray);

Метод 7: реализация пользовательской функции
Наконец, вы можете создать пользовательскую функцию для решения задачи добавления уникальных элементов в массив. Вот пример на Python:

def add_unique_element(array, element_to_add):
    if element_to_add not in array:
        array.append(element_to_add)
    return array
array = [1, 2, 3]
element_to_add = 2
new_array = add_unique_element(array, element_to_add)
print(new_array)

Эффективное добавление уникальных элементов в массив имеет решающее значение во многих сценариях программирования. В этой статье мы рассмотрели семь различных методов достижения этой цели: от использования встроенных структур данных до реализации пользовательских функций. Используя эти методы, вы можете гарантировать, что ваши массивы содержат только отдельные значения, не допуская засорения ваших данных дубликатами.