实现Fisher-Yates洗牌循环是行不通的
Implementing a Fisher–Yates shuffle loop is not working
我正试图实现Fisher-Yates洗牌,但是当我测试下面的代码时,它似乎没有循环。我想它在第一次之后就停止了。
function scrambleWord() {
var letterArray = currentWord.split("");
var m = letterArray.length, t, i;
while (m) {
x = Math.floor(Math.random() * m--);
t = letterArray[m];
letterArray[m] = array[i];
array[i] = t;
}
scrambledWord = letterArray.join("");
}
array
, i
和currentWord
在任何地方都没有定义:
function shuffleWord(word) {
var array = word.split('');
var m = array.length, t, i;
// While there remain elements to shuffle…
while (m) {
// Pick a remaining element...
i = Math.floor(Math.random() * m--);
// And swap it with the current element.
t = array[m];
array[m] = array[i];
array[i] = t;
}
return array.join('');
}
因为您没有定义currentWord
或array
。
故障排除从浏览器的开发控制台开始。
相关文章:
- jQuery:循环一个具有不同超时值的循环
- 在循环中分配json值时,值被覆盖
- 如何在下面的ES6循环中获得前面的文本
- 为什么“;未定义的“;在JavaScript中结束循环
- Javascript循环不会自我更新
- 如何使用jquery处理php循环通过元素
- 而循环只设置php中输入字段中的第一个值
- 循环遍历数组中的特定索引
- Javascript返回值只在循环中返回一次
- 按照选项卡索引的顺序循环一个jQuery选择
- 循环遍历以数组为值的Javascript对象
- 为什么JavaScript在for循环为3时向所有4发出警报
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 循环结束/推送到数组之前在页面上呈现EJS
- 循环比赛位置算法
- jQuery循环在特定位置暂停
- 我的javascript for循环不起作用
- 循环浏览多个身体背景图像
- 尝试创建大量变量和 for 循环是行不通的
- 实现Fisher-Yates洗牌循环是行不通的