下面這個函數是創建數組切片,push是無限循環。任何人都可以試圖證明這一點。儘管有條件,爲什麼這個for循環是無限循環?
function MyFunction(arr, size) {
var newArr = [];
for(var i=0; i<arr.length; i+size)
{
newArr.push(arr.slice(i,i+size));
}
return newArr;
}
我能夠在while循環中實現我的要求,雖然它看起來幾乎相似。
function MyFunction(arr, size) {
var newArr = [];
var i = 0;
while(i < arr.length)
{
newArr.push(arr.slice(i,i+size));
i = i + size;
}
return newArr;
}
採樣輸入: - myFunction的([ 「一」, 「B」, 「C」, 「d」],2);
樣本輸出: - [[ 「A」, 「B」],[ 「C」, 「d」]]
'1 + size'不會改變'i'。 '我+ =大小'呢。 – Xufox
僅僅通過比較你的兩種方法,你就可以在第一種方法中發現問題。 – Harshal