gpt4 book ai didi

JavaScript forEach() 调试 : code review?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:22:09 24 4
gpt4 key购买 nike

我的输出需要是:

01 02 03 04 05 06 07 08 
09 10 11 12 13 14 15 16
17 18 19 20 21 22 23 24
25 26 27 28 29 30 31 32

我有点缺乏练习,开始时遇到了困难。到目前为止,我将向您介绍我的思考过程,但如果您能插入我朝着正确的方向前进,那就太棒了!

首先,我想我需要像这样建立细胞对象模型;

var mod = {val: 0, first: 0, second: 0};

其次,我需要创建一个包含 32 个这些对象的数组。

var arr = [];
var i = 1;
function createArray(){
while (i < 33) {
if (i<10){
mod = {
val: i,
first: 0,
second: i
}
} else {
mod = {
val: i,
first: i.toString().split('').reverse().pop(),
second: i.toString().split('').pop()
}
arr.push(mod);
}
i++;
}
};
createArray();

var result = '';
arr.forEach(function(space){
space = space.first.toString() + space.second.toString();
if(result.length < 24){
result += space + ' ';
} else {
console.log(result);
result = '';
}
});

对我来说,这会产生一个奇怪的结果:

01 02 03 04 05 06 07 08 
10 11 12 13 14 15 16 17
19 20 21 22 23 24 25 26

这是怎么回事?它在 0918 上跳过,但为什么呢?我只是看不到它。

编辑

正如 @zerkms 所指出的,我在 SO 中输入错误。 i++ 应该在 while 循环内;否则会产生无限循环。

最佳答案

问题是您没有在行尾包含最后一个值。

  result += space + ' ';  // always do this
if(result.length > 24) {
console.log(result);
result = '';
}

关于JavaScript forEach() 调试 : code review?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32364924/

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