javascript - 有没有办法对所有子数组项求和,然后使用“for”或“for-of”循环将所有子数组相乘?
问题描述
我想使用 for() 或 for of() 循环创建一个函数,它将嵌套数组作为参数,然后添加并乘以它的项目。假设,myArray = [[5,6],[9,2],[4,8]] 现在我想像这样处理它:[[5+6] * [9+2] * [4+8]] 我使用 .map() 和 .reduce() 来解决它,但是有没有办法使用经典的 for() 或 for of() 循环来做同样的事情。这是我的审判。
let myArray = [[1,2],[3,4],[5,6]]
function multyPlus(array) {
resul = 0
for (const subArray of array) {
for (const num of subArray) {
resul += num
}
resul *= subArray
}
return resul
}
console.log(multyPlus(myArray));
//Nan
解决方案
我会尝试一个两步系统,首先将数字相加,然后将其乘以先前的数字:
function sum(array) {
var total = 0;
for (var item of array)
total += item;
return total;
}
var myArray = [[5,6],[9,2],[4,8]];
var output = 1;
for (var item of myArray)
output *= sum(item);
推荐阅读
- arrays - Excel - Sumifs 使用数组引用单元格
- node.js - 浏览器未收到由部署在云端分布后面的 elb 中的 express 应用程序发送的 Cookie 标头
- bootstrap-vue - 进度条(b-progress-bar)没有动画
- ssl - 带有 vagrant 文件的 podman 设置失败
- javascript - 完成所有承诺后退出节点
- python - 如何防止未检测到的 chromedriver 在最后一行代码后关闭窗口
- gcloud - td-agent 不验证谷歌云服务帐户凭据
- sql - 按来自 nvarchar(MAX) 列的订单 ID 过滤是否会受益于全文搜索?
- r - 根据多行/列中的分组匹配过滤行
- python - 使用 zipfile 解压后文件权限丢失