Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript js中插入排序后的无限逗号_Javascript - Fatal编程技术网

Javascript js中插入排序后的无限逗号

Javascript js中插入排序后的无限逗号,javascript,Javascript,我不知道为什么在Javascript中执行插入排序时会打印无限逗号。 所以我不能在浏览器中运行它,尽管我在jsbin中测试了它,链接是 varids=[3,4,8,5,33,56,23,67,231,12,43,50]; var j,i; 对于(j=2;j 1&&ids[i]>selectn){ ids[i+1]=ids[i]; i=i-1; } ids[i+1]=选择N; } 请告诉我为什么会这样,以及我如何更正它?修改数组时,ids.length的值会不断变化 首先缓存长度(var l=i

我不知道为什么在Javascript中执行插入排序时会打印无限逗号。 所以我不能在浏览器中运行它,尽管我在jsbin中测试了它,链接是

varids=[3,4,8,5,33,56,23,67,231,12,43,50];
var j,i;
对于(j=2;j 1&&ids[i]>selectn){
ids[i+1]=ids[i];
i=i-1;
}
ids[i+1]=选择N;
}

请告诉我为什么会这样,以及我如何更正它?

修改数组时,
ids.length
的值会不断变化


首先缓存长度(
var l=ids.length
),并将循环更改为
,以便(j=2;jAlways在您的问题中包含代码。请解释代码应该做什么。要自己调试问题,请设置断点,使用
console.log
,检查变量,看看它们是否真的具有您期望的值。thnx,我会记在心里。您不使用JavaScri有什么原因吗PT <代码> SoTo()/代码>?我喜欢制作函数,有很强的基础。我无法找出无限逗号的错误来源,现在我得到了!
var ids = [3, 4, 8, 5, 33, 56, 23, 67, 231, 12, 43, 50];
var j, i;
for (j = 2; j <= ids.length; j++) {
    var selectn = ids[j];
    i = j - 1;
    while (i > 1 && ids[i] > selectn) {
        ids[i + 1] = ids[i];
        i = i - 1;
    }
    ids[i + 1] = selectn;
}