let arr = [10, 20, 30, 40, 55, 60, 70];
// Ищем минимальное число в массиве т.к. делитель не может быть больше него
let min = Math.min(...arr);
// Ищем общие делители
let commonDivisors = [];
for (let i = 1; i <= min; i++) {
if (arr.every(num => num % i === 0)) {
commonDivisors.push(i);
}
}
console.log(commonDivisors);
let keys = ['key1', 'key2', 'key3'];
let values = ['value1', 'value2', 'value3', 'value4', 'value5', 'value6'];
let obj = {};
for (let i = 0; i < values.length; i++) {
let key = keys[i % keys.length];
obj[key] = values[i];
}
console.log(obj);
const keys = ['key1', 'key2', 'key3'];
const values = ['value1', 'value2', 'value3', 'value4', 'valu5', 'value6'];
const makeGen = function*(arr) {
let index = 0;
const { length } = arr;
while (true) {
yield arr[index++ % length];
}
}
const keyGen = makeGen(keys);
const valGen = makeGen(values);
const length = Math.max(keys.length, values.length);
const result = Array.from({ length }, () => [keyGen.next().value, valGen.next().value]);
console.log(JSON.stringify(result, null, 2));
/*
[
[
"key1",
"value1"
],
[
"key2",
"value2"
],
[
"key3",
"value3"
],
[
"key1",
"value4"
],
[
"key2",
"valu5"
],
[
"key3",
"value6"
]
]
*/