Object JavaScript из двух массивов разной длины

Есть два массива разной длины:

const keys = ['744128789503859', '546133235926688', '5461332359254778'];
const values = ['073', '611'];

Хочу из этих масивов создать Object такого вида:

{744128789503859:073, 546133235926688:611, 5461332359254778:073}

то есть, чтобы значения values присваивались по кругу для keys

У меня получилось сделать это только при одинаковой длине массивов


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

Автор решения: Grundy

Чтобы закольцевать индекс для меньшего массива, нужно взять остаток от деления индекса большего на длину меньшего:

const keys = ['744128789503859', '546133235926688', '5461332359254778'];
const values = ['073', '611'];

console.log(keys.reduce((acc, cur, i) => ({ ...acc,
  [cur]: values[i % values.length]
}), {}))

→ Ссылка