Задать вопрос
@sw213

Как перемножить два массива?

Есть два массива:

const a = [1, 5, 2]
const b = [15, 22, 24, 10,11,2, 7, 8]

Первый массив - цифра, которая соответствует количеству элементов из второго массива
1 - это один элемент из массива б (то есть 15)
должно быть 15
5 - это пять элементов второго массива 22,24,10,11,2
должно быть 22*24*10*11*2 (116160)
2 - два элемента 7,8
7*8 = 56
и результат этих вычислений пушится в третий массив:

const c = [15, 116160, 56]
  • Вопрос задан
  • 359 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Как перемножить элементы массива:

const mul = arr => arr.reduce((acc, n) => acc * n, 1);

Бежим по массиву с количествами элементов, получаем из массива с данными подмассивы указанной длины, перемножаем их содержимое:

const result = count.map(function(n) {
  return mul(data.slice(this[0], this[0] += n));
}, [ 0 ]);

Или, если массив с данными больше не понадобится, можно всегда вырезать у него из начала указанное количество элементов:

const result = count.map(n => mul(data.splice(0, n)));
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы