在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文件吗?我该如何实现?
这是针对一个小的附带项目,在该项目中,我可以计数到给定的数字,以便在i
上运行addedSum
操作。稍后,我绘制了地图,查看了序列,并进行了一系列检查。我只是注意到sequenceArr从未改变,因此我不应该继续重新生成相同的数字,如果num
小于我们的数组长度,就使用现有的数字,只有当我的sequenceArr<而不是CCD_ 9。
然后,我还需要将继续计数的新数字推送/更新到我的sequenceArr以更新序列。
您可以执行一个函数,并移交arrray,并根据给定的项添加对象。
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);