我已經採用了一個JavaScript函數,洗滌數組元素的for
循環接受參數,但沒有正文(空主體)的幫助。複雜的循環與一個空的身體
for
循環評估數組元素後洗牌。這是codepen。
下面是函數的代碼:
function shuffle(array) { // Shuffle an array
//
// + original by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
for(var j, x, i = array.length;
i;
j = parseInt(Math.random() * i),
x = array[--i], array[i] = array[j], array[j] = x){
}
return array;
}
console.log(shuffle(['Kevin', 'van', 'Zonneveld']));
如果循環沒有身體,我可以初始化for
環之外的所有元素?如下圖所示:
var j, x, i = array.length;
var j = parseInt(Math.random() * i), x = array[--i], array[i] = array[j];
array[j] = x;
該循環在其主體中沒有任何語句,但它仍然需要是一個循環,因爲它仍然運行一些迭代。在循環內放入一些console.log()語句來記錄所有的變量,你會看到發生了什麼。 – nnnnnn