gpt4 book ai didi

javascript - 我的洗牌程序出了什么问题?

转载 作者:行者123 更新时间:2023-11-28 18:29:05 26 4
gpt4 key购买 nike

我在下面编写了一个洗牌程序并运行它"Will It Shuffle?" 。结果似乎表明它正在控制台中运行;它正在对数组进行洗牌。但是该网站向我显示了一个全红框,让我认为我的代码有问题,但我没有看到它。

function shuffle (array) {
var arr = [],
length = array.length,
el;

while (length > 0) {
var randomEl = Math.floor(Math.random() * (length - 0) - 0);
if (length > 1) {
el = array.splice(randomEl,1);
} else {
el = array.splice(0,1);
}
arr.push(el[0]);
length -= 1;
}

return arr;
}

最佳答案

该页面忽略函数的返回值,因为它需要 in-place排序。

如果您将其添加到代码末尾,它将按预期工作:

array.push(...arr);

您也可以直接就地执行:

function shuffle (array) {
var length = array.length;
while (length) {
var randomEl = Math.floor(Math.random() * length);
var el = array.splice(randomEl, 1);
array.push(el[0]);
--length;
}
}

关于javascript - 我的洗牌程序出了什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38493907/

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