gpt4 book ai didi

jquery - 打乱数组元素

转载 作者:行者123 更新时间:2023-12-01 06:58:55 25 4
gpt4 key购买 nike

我在网上找到了这段用于打乱数组元素的代码,它运行良好,但我无法理解这里的 for 循环

shuffle = function(o)
{
for(var j, x, i = o.length; i;
j = parseInt(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x);
return o;
};

感谢任何帮助,谢谢!

最佳答案

这基本上是对 for 灵 active 的滥用。循环。

for 的一般语法循环是:

for (<init>; <condition>; <increment>) {
<body>
}

大致可以表示为while循环:

<init>;
while(<condition>) {
<body>
<increment>
}

因为 <body><increment>都像在 while 的主体中一样执行,任何可以进入 for 主体的东西循环,也可以放在 <increment>for 的表达式环形。您只需用逗号而不是分号分隔语句即可。

因此你的for循环可能更好地表达为 while循环:

var j, x, i = o.length; 
while (i) { // same as while(i != 0)
j = parseInt(Math.random() * i);
x = o[--i];
o[i] = o[j];
o[j] = x;
}

关于jquery - 打乱数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5991830/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com