我试图乘以子数组元素。您能否看一下下面的代码,让我们知道我们是否可以做更多的优化。
注意:-我想将子数组的相乘值推入另一个数组中。
能帮我吗?
var arr1 = [
[3, 2],
[2, 3],
[4, 5]
]
var sumArr = [];
for (var row = 0; row < arr1.length; row++) {
var fullRow = arr1[row];
var val = 1;
for (var col = 0; col < fullRow.length; col++) {
val *= fullRow[col];
}
sumArr.push(val);
}
console.log(sumArr);
答案 0 :(得分:1)
执行此操作的最佳方法是使用map
和reduce
,如下所示:
const arr1 = [ [3, 2]
, [2, 3]
, [4, 5]
];
const multiply = (a, b) => a * b;
const product = arr => arr.reduce(multiply, 1);
const sumArr = arr1.map(product);
console.log(sumArr);
我不确定“优化”是什么意思,但这是您要寻找的吗?