Изучение методов отправки элементов взаимного массива во вложенный цикл в JavaScript

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

Метод 1: наивный подход
Мы можем использовать два вложенных цикла для сравнения каждого элемента первого массива с каждым элементом второго массива. Если общий элемент найден, его можно поместить в новый массив.

function findMutualElements(arr1, arr2) {
  const result = [];
  for (let i = 0; i < arr1.length; i++) {
    for (let j = 0; j < arr2.length; j++) {
      if (arr1[i] === arr2[j]) {
        result.push(arr1[i]);
      }
    }
  }
  return result;
}
const array1 = [1, 2, 3, 4, 5];
const array2 = [4, 5, 6, 7, 8];
const mutualElements = findMutualElements(array1, array2);
console.log(mutualElements); // Output: [4, 5]

Метод 2: использование Array.filter() и Array.includes()
Мы можем использовать метод filter()вместе с методом includes()для поиска общих элементов между массивами.

function findMutualElements(arr1, arr2) {
  return arr1.filter((element) => arr2.includes(element));
}
const array1 = [1, 2, 3, 4, 5];
const array2 = [4, 5, 6, 7, 8];
const mutualElements = findMutualElements(array1, array2);
console.log(mutualElements); // Output: [4, 5]

Метод 3: использование Set и Array.filter()
Мы можем использовать Setдля создания уникальных наборов каждого массива, а затем использовать filter()для поиска общих элементы.

function findMutualElements(arr1, arr2) {
  const set1 = new Set(arr1);
  const mutualElements = arr2.filter((element) => set1.has(element));
  return mutualElements;
}
const array1 = [1, 2, 3, 4, 5];
const array2 = [4, 5, 6, 7, 8];
const mutualElements = findMutualElements(array1, array2);
console.log(mutualElements); // Output: [4, 5]

Метод 4: использование Array.reduce() и Array.includes()
Мы можем использовать метод reduce()вместе с includes()для поиска общих элементов.

function findMutualElements(arr1, arr2) {
  return arr1.reduce((result, element) => {
    if (arr2.includes(element)) {
      result.push(element);
    }
    return result;
  }, []);
}
const array1 = [1, 2, 3, 4, 5];
const array2 = [4, 5, 6, 7, 8];
const mutualElements = findMutualElements(array1, array2);
console.log(mutualElements); // Output: [4, 5]

В этой статье мы рассмотрели несколько методов передачи элементов взаимного массива во вложенный цикл в JavaScript. Мы рассмотрели простой подход с использованием вложенных циклов, а также более краткие методы, использующие методы манипулирования массивами, такие как filter(), includes(), Setи <. с>13. Применяя эти методы, вы можете эффективно находить и собирать общие элементы из массивов. Выберите метод, который соответствует вашим потребностям, и соответствующим образом оптимизируйте свой код.

Не забывайте тестировать и сравнивать различные методы с учетом конкретных случаев использования, чтобы определить наиболее эффективное решение для вашего приложения.