gpt4 book ai didi

JavaScript - 对同一行和同一列中的值求和

转载 作者:行者123 更新时间:2023-11-29 21:45:31 26 4
gpt4 key购买 nike

我怎样才能对同一行和同一列的值求和,并生成另一个结果数组(可以是一维的)。

Array [
[ 1, 1, 0, 1 ],
[ 1, 1, 1, 1 ],
[ 1, 1, 1, 1 ],
[ 1, 1, 0, 1 ]
]

最佳答案

var res = [];  //the 1D array to hold the sums
var hArr = [
[ 1, 1, 0, 1 ],
[ 1, 1, 1, 1 ],
[ 1, 1, 1, 1 ],
[ 1, 1, 0, 1 ]
]; //your array


var vArr = []; //Now lets create an array of arrays with the columns of hArr

for (var j=0; j<hArr[0].length; j++) {
var temp = [];
for (var i=0; i<hArr.length; i++) {
temp.push(hArr[i][j]);
}
vArr.push(temp);
}

//sum all the element in the line - Vertically and Horizontally
function SumVH (hInd, vInd) {
var sum = 0;
//add horizontal elements
for(var i=0; i<hArr[hInd].length; i++) {
sum += hArr[hInd][i];
}
//add vertical elements
for(var i=0; i<vArr[vInd].length; i++) {
sum += vArr[vInd][i];
}
//console.log("hInd="+hInd+" vInd="+vInd+" Sum="+sum);
return sum;
}

// go through the main array and get result
var sumR = 0;
//sum of each row
for (var i=0; i<hArr.length; i++) {
for (var j=0; j<hArr[i].length; j++) {
sumR = SumVH(i,j) - (2 * hArr[i][j]);
res.push(sumR);
}
}

请立即检查。变量 res 保存结果

For my array writen above I want result array like 7, 7, 5, 7, 8, 8, 6, 8, 8, 8, 6, 8, 7, 7, 5, 7

现在上面的代码并没有将数字本身计算在总和中。但要获得结果作为您的评论,请替换此行

sumR = SumVH(i,j) - (2 * hArr[i][j]);

sumR = SumVH(i,j);

谢谢。

关于JavaScript - 对同一行和同一列中的值求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31338622/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com