Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 以n个项目的块在数组中循环_Javascript_Arrays - Fatal编程技术网

Javascript 以n个项目的块在数组中循环

Javascript 以n个项目的块在数组中循环,javascript,arrays,Javascript,Arrays,我有一个简单的JS数组: var myStringArray = ['item1','item2','item3','item4','item5','item6','item7','item8','item9','item10','item11','item12','item13','item14','item15','item16','item17']; 我想格式化数组中的数据,使其如下所示: [ ["item1","item2","item3"], ["item4","it

我有一个简单的JS数组:

var myStringArray = ['item1','item2','item3','item4','item5','item6','item7','item8','item9','item10','item11','item12','item13','item14','item15','item16','item17'];
我想格式化数组中的数据,使其如下所示:

[
    ["item1","item2","item3"],
    ["item4","item5","item6"],
    ["item7","item8","item9"],
    ["item10","item11","item12"],
    ["item13","item14","item15"],
    ["item16","item17"]
]
换行并不重要,但这正是我想要达到的格式

我已经做到了这一点:

var myCols = 3;
var myStringArray = ['item1','item2','item3','item4','item5','item6','item7','item8','item9','item10','item11','item12','item13','item14','item15','item16','item17'];  
var arrLen = myStringArray.length;      
var output = "[";

for (var i=0, l=myStringArray.length; i<l; i++) {

  var this_loop = i+1;
  var this_item = myStringArray[i];
  var this_mod = (i % myCols) + 1;

  console.log(this_item + '__' + i + '______' + this_mod);

    if (this_mod == 1) {
        output += '[';
    }

    if (this_mod == 3 && this_loop < arrLen) {
        output += '],';
    }

    if (this_loop === arrLen) {
        output += ']';
    }

}   

output += ']';

console.log (myStringArray);
console.log (arrLen);
console.log (output);
我正在努力解决的问题是用数组中的项目序列填充每组方括号的逻辑

非常感谢您的建议

谢谢

试试这个:

var newArr = [];
var myStringArray = ['item1','item2','item3','item4','item5','item6','item7','item8','item9','item10','item11','item12','item13','item14','item15','item16','item17'];

for (var i = 0; i < myStringArray.length; i+=3) {
    newArr.push(
        myStringArray.slice(i, i+3)
    );
}

console.log(JSON.stringify(newArr, null, 4));

谢谢-对不起-在我问这个问题之前,我应该已经知道要搜索什么了。
var newArr = [];
var myStringArray = ['item1','item2','item3','item4','item5','item6','item7','item8','item9','item10','item11','item12','item13','item14','item15','item16','item17'];

for (var i = 0; i < myStringArray.length; i+=3) {
    newArr.push(
        myStringArray.slice(i, i+3)
    );
}

console.log(JSON.stringify(newArr, null, 4));