我先让你看看我得到了什么:
我决定尝试并制作一个脚本,以一种可能的方式对数组中的数字进行排序。
我做的第一种方式是"Selection mode"
,您可以在其中找到数组的较低值并将其放在第一个位置。正如你所看到的,我把它打印成一张桌子让它变得更有趣,但是这里有我的问题,我想在每个循环结束时加一个延迟,在那里我强调我要交换的值,但是由于某种原因,它只是组织所有表格,然后渲染它而不是一步一步地进行。
现在我要继续解释一下我的代码^^ u:
如果您点击"重新启动"如果你点击"选择"你会得到一堆新的随机数字。数组将被订购。
功能:
generate
:生成i
个数字,其值从0
到j
。prinTable
:打印表格。renderDots
:在与数组值匹配的点处添加样式。seleccion
:执行"选择"组织阵列的方法。highlight
:在 THIS 循环处添加点的样式,并删除其他点的突出显示样式。我想得到这样的影响:
答案 0 :(得分:1)
您可以使用setInterval
函数代替for
循环:
function seleccion(table){
var ordenados = 0;
var timer = setInterval(renderOneStep, 300)
function renderOneStep(){
if (ordenados < table.length){
// do all the calculations
ordenados++;
} else {
clearInterval(timer);
}
}
}
renderOneStep
函数更新一列。它每300毫秒调用一次。
请参阅更新后的jsfiddle。