Посчитать значения в массиве и вывести в переменную

155
11 июля 2018, 07:40

Есть массив, допустим такой:

var arr = [// Кол-во | множитель
    ['12', '2'],
    ['20', '3'],
    ['2, '1']
];

Можно ли посчитать так:

(12 * 2) + (20 * 3) + (2 * 1)

И получить результат в переменную, допустим:

var arrsum = *result* //86
Answer 1

let arr = [// Кол-во | множитель 
    ['12', '2'], 
    ['20', '3'], 
    ['2', '1'] 
]; 
 
console.info(arr.map(a => a.reduce((a, c) => a * +c, 1)).reduce((a, c) => a + c, 0));

Ох как много ответов сразу.
Себя удалять не буду!

Answer 2

var arr = [// Кол-во | множитель 
    ['12', '2'], 
    ['20', '3'], 
    ['2', '1'] 
]; 
 
console.log( 
  arr.reduce((res, item) => res + item[0]*item[1], 0) 
);

Answer 3

var arr = [ 
  ['12', '2'], 
  ['20', '3'], 
  ['2', '1'] 
]; 
var m = arr.map(function(x) { 
  return parseInt(x[0]) * parseInt(x[1]); 
}); 
var arrsum = m.reduce(function(acc, val) { 
  return acc + val; 
}); 
console.log(arrsum);