Как найти ОБЩИЕ ЭЛЕМЕНТЫ в двух числовых массивах?

Напиши функцию getCommonElements(array1, array2) которая получает два массива произвольной длины в параметры array1 и array2, и возвращает новый массив, состоящий из тех элементов, которые присутствуют в обоих исходных массивах.

function getCommonElements(array1, array2) {
  

const array = [];

  for (let i = 0; i < array1.length; i += 1) {
    for (let j = 0; j < array2.length; j += 1) {
      if (array1[i].includes(array2[j])){
        return array.push(i);
      }
    }
  }


}

Ответы (2 шт):

Автор решения: Seona16
function getCommonElements(array1, array2) {
  

const array = [];

  for (let i = 0; i < array1.length; i += 1) {

      if (array2.includes(array1[i])){
        array.push(array1[i]);
      }
    }
  return array;


}
→ Ссылка
Автор решения: Qwertiy

С линейной асимптотикой:

function getCommonElements(a, b) {
  a = new Set(a)
  b = new Set(b)
  
  var res = []

  for (var x of a) {
    if (b.has(x)) {
      res.push(x)
    }
  }
  
  return res
}

console.log(getCommonElements([1, 2, 3, 4, 4, 5, 6], [2, 4, 5, 5]))

function getCommonElements(a, b) {
  b = new Set(b)
  return [...new Set(a.filter(x => b.has(x)))]
}

console.log(getCommonElements([1, 2, 3, 4, 4, 5, 6], [2, 4, 5, 5]))

→ Ссылка