Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.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 拼接不';t更改数组的长度_Javascript - Fatal编程技术网

Javascript 拼接不';t更改数组的长度

Javascript 拼接不';t更改数组的长度,javascript,Javascript,JavaScript array.splice更改数组的长度。但是下面的代码似乎总是在不改变数组长度的情况下提取数组的前10个元素。这使它进入一个无限循环。怎么了 files = ['a','b','c',....]; // 100 elements while( files.length ){ files = files.splice( 0, 10 ); console.log( files ); } 问题在于您的分配。只需删除它,因为拼接会在适当的位置更改数组。它会将您要分

JavaScript array.splice更改数组的长度。但是下面的代码似乎总是在不改变数组长度的情况下提取数组的前10个元素。这使它进入一个无限循环。怎么了

files = ['a','b','c',....]; // 100 elements
while( files.length ){
    files = files.splice( 0, 10 );
    console.log( files );
}

问题在于您的分配。只需删除它,因为
拼接
会在适当的位置更改数组。它会将您要分配回数组的已删除元素返回

资料文件包括:文件文件包括包括以下的文件:文件文件包括包括以下的文件:这些文件包括“a a”、“b”、“b”、“b”、“b”、“c”、“c”、“c”、“c”、“c”、“a”、“a”、“a”、“b”、“b”、“b”、“b”、“b”、“b”、“b”、“b”、“b”、“b”、“c”、“c”、“c”、“a”、“a”、“a”、“b”、“b”、“b”、“c”、“c”、“c”、“a”、“a”、“a”、“a”、“a”、“a”、“a”、“a”、“a”、“a”、“b”、“b”、“b”、“b”、“b”、“b”、“b”、“b”、“b”、“b”、“b”、“b”、“b”、“b”、“b”、“b”、“b”、“b”、“b”、“b”、“b”、“b”、“b”、“b”、“b”、“b”、“b”、“b”、“c”、“c”、“c”、“c”、“c”、“c”、“c”、“c”、“c”、“c”、“c”、“c”、“c”、“c”、“c”、“c”、“c”、“c”、“c”、“c”、“c”、“c”、“c”、“c”、“c”、“”、“c”、“c”、“c”、“c”、“c”、“c”、“”、“c”、“c”、“”、“”、““'b'、'c'、'a'、'b'、'c'、'a'、'b'、'c'];//100个元素 while(files.length){ 拼接(0,10); console.log(文件);
}问题是
拼接
返回一个包含已删除元素的数组,然后再次将其分配给
文件
。因此,
文件
数组始终有10个值,且条件从不为false。您可以像这样使用它:

files = ['a','b','c',....]; // 100 elements
while( files.length ){
    files.splice( 0, 10 );
    console.log( files.length );
    //=> 90, 80, 70, 60, 50, 40, 30, 20, 10, 0
    // after that it will get out of this loop
}

请记住,
splice()
方法通过删除现有元素来更改数组的内容。因此,如果需要
文件
进行进一步处理,请先将该值保留在临时数组中,然后将该临时数组与
splice()

splice
一起使用,以返回删除的元素,并在适当的位置更改数组。你的作业就是问题所在。谢谢你的解释。我看到它在没有作业的情况下工作,我不停地敲我的头,这很愚蠢。不幸的是,js文档没有php(个人观点)那么健壮。谢谢你的回答。