如何解决继续迭代数组的计数
在 Javascript 中,我正在运行一个简单的 for 循环,它递增,其中 num
可以是任何给定的输入数字:
const sequenceArr = [];
for (let i = 0; i <= num; i++) {
const addedSum = i + i;
sequenceArr.push({ i,addedSum });
}
您可以想象,当 num
是某个给定的数字(例如 1000)时,将生成最多 1000 的对象数组,并且该对象看起来像这样:[{1,2},{2,4},{3,6} ... {1000,2000} ]
。现在假设您要到 2000。for 循环再次运行,从 0 开始重复并计数相同的数字,对相同的数字执行相同的操作,但它似乎不是非常理想。我怎么能基本上继续计数,从 1001 或我在 sequenceArr
中的最后一个数字继续?而不是从 0 开始一直回到我们新的 num
,2000?我应该推送到后端并导入 json 文件吗?我该如何实施?
这是一个小型副项目,我数到一个给定的数字,这样我就可以在 addedSum
上运行 i
操作。后来我映射并查看序列并运行一系列检查。我只是注意到 sequenceArr 永远不会改变,因此我不应该继续重新生成相同的数字,如果 num
小于我们的数组长度,则使用现有数字,并且如果我的 sequenceArr 小于 num
,则仅生成和推送新数字{1}}。
然后我还需要将继续计数的新数字推送/更新到我的 sequenceArr 以更新序列。
解决方法
您可以使用一个函数并移交数组并通过尊重给定的项目添加对象。
function addValues(array,num) {
for (let i = array.length ? array[array.length - 1].i + 1 : 0; i <= num; i++) {
const addedSum = i + i;
array.push({ i,addedSum });
}
}
const sequenceArr = [];
addValues(sequenceArr,3);
console.log(sequenceArr);
addValues(sequenceArr,5);
console.log(sequenceArr);
.as-console-wrapper { max-height: 100% !important; top: 0; }
对您的代码进行少量修改。
let sequenceArr = [];
function getResult(arr,num) {
let len = arr.length;
for ( len ? arr[ len - 1].len + 1 : 0; len <= num; len++) {
let addedSum = len + len;
arr.push({ len,addedSum });
}
}
getResult(sequenceArr,3);
console.log(sequenceArr);
getResult(sequenceArr,5);
console.log(sequenceArr);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。