function smallestCommons(arr) {
arr = arr.sort((a, b) => a > b)
let a = arr[0]
let b = arr[1]
let searchingInProgress = true
let start = 1
let next = 200
let numbers = []
let startIndex = a
for (let i = 0 ; i < (b - a + 1) ; i++) {
numbers.push([])
}
while (searchingInProgress) {
let multiplies = numbers.slice(0)
//Creating 10x10 2D array of multiplies, each column represents a number in given range
multiplies = multiplies.map( (number, index) => {
let subMultiplies = []
for (let i = start ; i < next ; i++) {
subMultiplies.push((index + startIndex) * i)
}
return subMultiplies
})
//Searching through array of multiplies
multiplies = multiplies.map( (multipliesSequence, index) => {
//iterate through multiplies in sequence and returns only those which occur in every sequence
return multipliesSequence.filter( multiply => {
let alreadyExists = true
//checks if multiply exists in every column
for (let i = 0 ; i < multiplies.length ; i++) {
alreadyExists = alreadyExists &&
multiplies[i].indexOf(multiply) !== -1
}
return alreadyExists
})
})
console.log(multiplies[0].length)
if (multiplies[0].length !== 0) console.log(multiplies[0])
if (multiplies[0].length !== 0) return multiplies[0][0]
start += next
next += next
}
}
smallestCommons([1,5]);
{"html5":"htmlmixed","css":"css","javascript":"javascript","php":"php","python":"python","ruby":"ruby","lua":"text\/x-lua","bash":"text\/x-sh","go":"go","c":"text\/x-csrc","cpp":"text\/x-c++src","diff":"diff","latex":"stex","sql":"sql","xml":"xml","apl":"apl","asterisk":"asterisk","c_loadrunner":"text\/x-csrc","c_mac":"text\/x-csrc","coffeescript":"text\/x-coffeescript","csharp":"text\/x-csharp","d":"d","ecmascript":"javascript","erlang":"erlang","groovy":"text\/x-groovy","haskell":"text\/x-haskell","haxe":"text\/x-haxe","html4strict":"htmlmixed","java":"text\/x-java","java5":"text\/x-java","jquery":"javascript","mirc":"mirc","mysql":"sql","ocaml":"text\/x-ocaml","pascal":"text\/x-pascal","perl":"perl","perl6":"perl","plsql":"sql","properties":"text\/x-properties","q":"text\/x-q","scala":"scala","scheme":"text\/x-scheme","tcl":"text\/x-tcl","vb":"text\/x-vb","verilog":"text\/x-verilog","yaml":"text\/x-yaml","z80":"text\/x-z80"}