Implement a Range-Based LCM Calculator - Implement a Range-Based LCM Calculator

Tell us what’s happening:

All the tests except for test 7 runs fine. But the answer that my function gives me for test 7 makes sense since the only highest prime factors for the range is 19 and 23

Your code so far

function smallestCommons (arr) {
  const min = Math.min(...arr);
  const max = Math.max(...arr);
  const array = [];
  const newArr = [];

  for (let i = min; i < max + 1; i++) {
  array.push(i);
  }

  const primeArr = array.filter(num => {
    if (num <= 1) {
      return false;
    }
    if (num % 2 === 0 && num > 2) {
      return false;
    } 
     for (let i = 3; i * i <= num; i += 2) {
    if (num % i === 0) {
      return false; 
    }
  }
  return true;
  })

  console.log(array);
  console.log(primeArr);

  primeArr.filter(num => {
    for (let i = 10; i > 0; i--) {
      if (array.includes(num ** i)) {
        newArr.push(num ** i);
        break;
      } else if(!array.includes(num ** i)) {
        continue;
      }
    }
  });

  console.log(newArr);

  return newArr.reduce((acc, curr) => acc * curr, 1);
  
}

console.log(smallestCommons([23, 18]));

//6056820

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36

Challenge Information:

Implement a Range-Based LCM Calculator - Implement a Range-Based LCM Calculator

Your code is too inefficient. I would look for more efficient ways to approach this problem.