JSFiddle - React, Tailwind, and code Playground
JavaScript
function smallestCommons(arr) {
var arr0=[]; // source array is formed directly from arguments range
var arr1=[]; // array of multiplies for arr0[i] and numbers in range 1-100
var arr2=[];
arrayOfArrays=[];
var q = [];
var arrayOfMultiplies=[];
var arrayOfCommons=[];
var arrN=arr.sort(
function(a,b){
return a-b;
})
for (i=arrN[0];i<=arrN[arr.length-1];i++){
arr0.push(i);} // source array formed
for (i=1;i<=1000;i++){
q.push(i);} // numbers to multiply them with source
//console.log(q);
for (i=0;i<arr0.length;i++){
for (ii=0;ii<q.length;ii++){
arrayOfMultiplies.push(arr0[i]*q[ii]);
}
arrayOfArrays.push(arrayOfMultiplies);
arrayOfMultiplies=[];
}
//no we have arrayOfArrays which stores arrays with numbers for multiplies
for (i=0;i<arrayOfArrays.length;i++){
for (ii=0;ii<arrayOfArrays[i].length;ii++){
//console.log(item); //this checks if at this point we properly addressed all multiplies one by one. Yes, we did
if (arrayOfArrays.every(
(x)=>x.indexOf(arrayOfArrays[i][ii])>-1))
{
arrayOfCommons.push(arrayOfArrays[i][ii]);}
}
}
//at this point we successfully compared each Item with contents of EVERY array due to array.every. Now we need to sort final array.
arrayOfCommons.sort(function(a,b){return a-b;}
);
console.log(arrayOfCommons);
}
smallestCommons([1,13]);