split_array=(arr,len)=>{
let arr_length = arr.length;
let newArr = [];
for(let i=0;i<arr_length;i+=len){
console.log(i)
newArr.push(arr.slice(i,i+len));
console.log(i)
}
return newArr;
}
split_array(arr,3)
这段代码是可以正确执行的。
可是有一点不太理解
循环条件里已经i+=len
然后
怎么在第一次循环里 i 还是 0 为什么不是 3 呢
console.log(i)分别是 0 3 6 9 12 15 18
请理解
for
语句的执行原理。https://developer.mozilla.org...
initialization
, 且只执行一次;condition
,一个条件表达式被用于确定每一次循环是否能被执行。如果该表达式的结果为true, statement 将被执行。 这个表达式是可选的。如果被忽略,那么就被认为永远为真。如果计算结果为假,那么执行流程将被跳到for语句结构后面的第一条语句;final-expression
每次 循环的最后 都要执行的表达式。那么,在第一次循环里,
i
就是 0 呀,为什么是 3 ?