JavaScript中二维数组的基本概念
说到JavaScript,千万不能忽略数组这个强大工具喔!它就像个大袋子,什么都可以装进去。想找东西?就像是在一堆小盒子里摸索,用代码就能准确定位。特别是用到二维数组时,它们就像冰淇淋中的冰棒,整齐有序,处理表格之类的数据真的轻而易举。
创建二维数组
找出2D数组的技巧才是重要!用JS玩个游戏啥的,别忘了把它塞进数组里去哟。比如要弄一个3×3的2D数组,这不就搞定了嘛:
javascript let matrix =[ [1,2,3], [4,5,6],let arr = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ];[7,8,9]
];告诉你个喜讯,我搞出了个3×3的矩阵,里边还嵌套着三段相等长度的一维数组!
使用for循环计算行之和
for (let i = 0; i < arr.length; i++) { let sum = 0; for (let j = 0; j < arr[i].length; j++) { sum += arr[i][j]; } console.log(`Row ${i+1} Sum: ${sum}`); }咋样,想让俺帮你算算几个数加起来是多少吗?别担心,非常简单!你只需要设个for循环,然后逐格访问那个二维数组。每碰到一行,就把那儿的总数给记录下来。明白了没?就这样操作:
let rowSums =[];
就从零开始数,一直数到矩阵的长度,然后每次加1。
let sum =0;
Row 1 Sum: 6 Row 2 Sum: 15 Row 3 Sum: 24每次j从0开始,让它跑到矩阵的第i行结束再增加1。
sum += matrix[i][j];
}
let rowSums = []; for (let i = 0; i < arr.length; i++) { let sum = 0; for (let j = 0; j < arr[i].length; j++) { sum += arr[i][j]; } rowSums.push(sum); } console.log(rowSums);rowSums.push(sum);
“咱来数下第$(i+1)$行的总数,也就是那个$={boxed{sum}}:$!"
}
这可是个小游戏!先来逛逛所有的matrix格子,每个行都求个总和存到rowSums里。完成了没?最后看下电脑屏幕上的结果就好!
使用map和reduce函数计算行之和
,是不是感觉处理二维数组列和行总和好麻烦呀?其实,Javascript的map和reduce函数帮你轻松搞定这些问题。Map函数就像个认真数钱的普通人,一个一个地查看数组里的每一个数字;而Reduce函数则更像个忙碌的搬运工,把大家的钱加起来算出总数。快来试试,学起来超实用!
搞定这个其实挺容易!首先,你得换掉原来那个用for循环写的方法。用 Map 和 Reduce,他们能帮你搞定每个数据行的处理和数值汇总。然后,再把它们都整合起来,放到一个叫 rowSums 的数组里。这样一来,问题就迎刃而解了?
下面是我的建议,先把rowSums()这个函数用上算个总和。然后这样做:每次完成一次(总共多少,在哪)计算后,都输入进去:(total, position)=>{
看看我们在算$({indext+1})$这一排的点总数,也就是那个${sum}~
let rowSums = arr.map(row => row.reduce((acc, val) => acc + val)); console.log(rowSums);});
这家伙儿代码不难?我来给你说说,这matrix里头每行的数都会自己相乘,然后放新创建的’rewSums’里去。通俗点说就是我们在玩拼图,能看出总量。好嘞,这样子步骤就看得懂了嘛——先给每个列用map函数弄下;再用reduce函数算个总数(就是把所有数全都加在一起);最后forEach让每个数显摆一下自己出了多少力。
选择合适的方法
要看你怎么用这些方法。想耍帅的,直接用 for 循环搞点飞起来的特效;要是急着要做事情,果断试试 map 和 reduce 函数,它们绝对实用!
其他方法与应用场景
除了我刚才讲的那招,JavaScript玩转2D数组每行的总和还有很多种方法!比如说,你可以一个个数地数出来,或者用递归的方式算出来。不过要说起来,重要的还是哪种方法既简单明了,又方便实用,还易于理解和修护。毕竟咱们是做项目,不就是图省事儿么!
总结与展望
[6, 15, 24]想用JS搞定每行求和,简单!首先你得有个二维数组。然后只需要三个关键工具:for循环、map和reduce,就轻而易举地完成。这样以后遇到二维数组也不怕。再说,JavaScript现在火爆得很,肯定还会有更多新奇玩意儿冒出来,搞不好下次再给你介绍个更好用的小窍门哟。
原文链接:https://www.icz.com/technicalinformation/web/2024/04/12889.html,转载请注明出处~~~
评论0