在数组中计算和的最大最小值

本文介绍了一种使用JavaScript实现的算法,该算法可以计算数组中连续三个数值的总和,并展示了如何通过遍历来实现横向、纵向及斜向的连续值求和。此算法为作者个人实践成果,旨在提升JavaScript编程技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在博客中看到了一篇文章挺有意思的,文章地址是:http://www.cnblogs.com/flsummer/p/5025286.html
是关于计算连续三个数的值,以以下数组为例,1-2-3,1-2,6,1-1-4算连续的,1-1-2,1-2-2则不算,借鉴于他的写法,我作了一些小小的改变,我把数组的每一项设置成不同项数,
于是乎有了以下的数组;写这个纯属是为了练习,项目中估计也用不到这种乱七八槽的数组,
对于js,还有很多的路要走,希望看过的大神能给以指导
var oArray = [
[1, 2,3],
[1, 2, 3],
[4, 5, 6, 3],
[6, 8, 0],
[7, 8, 9],
[11, 12, 13, 16],
[11, 12, 13, 16],
[11, 12, 13, 16],
[11, 12]
];
var sum = 0;
var arr = [];
//横向
for (var i = 0; i < oArray.length; i++) {
for (var j = 0; j < oArray[i].length - 2; j++) {
if(oArray[i][j + 2]){
sum += oArray[i][j] + oArray[i][j + 1] + oArray[i][j + 2];
arr.push(sum);
sum = 0;
}

}

}
//纵向
for (var i = 0; i < oArray.length - 2; i++) {

for (var m = 0; m < oArray[i].length; m++) {
if (oArray[i + 2][m]) {
sum += oArray[i][m] + oArray[i + 1][m] + oArray[i + 2][m];
arr.push(sum);
sum = 0;
}
}

}
//纵横,想起了秦时明月
for (var i = 0; i < oArray.length - 2; i++) {
for (var n = 0; n < oArray[i].length - 2; n++) {
if (oArray[i + 2][n + 2]) {
sum += oArray[i][n] + oArray[i + 1][n + 1] + oArray[i + 2][n + 2];
arr.push(sum);
sum = 0;
}

}
}

console.log(arr);
console.log(Math.max.apply(this,arr));
console.log(Math.min.apply(this,arr));

转载于:https://www.cnblogs.com/yanzai/p/5291534.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值