具有特定步骤的Javascript for循环

标签 javascript arrays for-loop typescript

我有一个包含 100 元素的数组,我想从第 10 位到第 15 位取一个元素 (10, 11, 12, 13, 14, 15),比从 20 日到 25 日,从 30 日到 35 日,从 40 日到 45 日,从 50 日到 55 日,所以我总是有一个 gap= 4 并存储到一个新的二维值。我找到了如何存储到 2D 数组,但我如何才能弥补这一差距?

这就是我如何制作大小为 6 的 block (因为我总是需要“十年”的前六个元素)

var newArr = [];
while(arr.length) newArr.push(arr.splice(0,6));

function splitArray(array, part) {
    var tmp = [];
    for(var i = 0; i < array.length; i += part) {
        tmp.push(array.slice(i, i + part));
    }
    return tmp;
}

console.log(splitArray(m1, 6));

但首先我必须创建一个新的元素数组(10-15、20-25 等等...)。我怎么能这样做?

最佳答案

您的函数需要一个单独的参数来表示每个部分的步幅和大小。它在递增 for 循环变量时使用步幅,在获取切片时使用大小。

function splitArray(array, stride, size) {
    var tmp = [];
    for(var i = 0; i < array.length; i += stride) {
        tmp.push(array.slice(i, i + size));
    }
    return tmp;
}

var m1 = [];
for (var i = 0; i < 100; i++) {
    m1.push(i);
}
console.log(splitArray(m1, 10, 6));

关于具有特定步骤的Javascript for循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44710083/

相关文章:

javascript - JS 代码在 JSFiddle 中完美运行,但在 Meteor 中无法运行

java - 数组初始化

Java - 递归方法,获取一个数组中的累积和并返回另一个数组

javascript - str[index + 1] 在 for 循环中返回未定义

python - 在 for 循环中从列表中解压多个参数

python - 使用 for 循环的函数,在达到特定数字之前对列表中的数字进行求和

javascript - 如何在angular js中应用ng-if

javascript - 使用 JavaScript 在二维数组中添加值

Javascript 代码在 IE11 移动浏览器中未定义,但在 Chrome、Firefox、IE 中工作

javascript - 正则表达式替换为关联数组(正则表达式模式)