javascript - 无限 For 循环 - Javascript - 出了什么问题?

标签 javascript arrays for-loop

function sortArray(array) {
    var tempArray = [];
    var tempNum;
    var tempPos;
    for (var i = 0; i < array.length; i+= 1) {

        if (i = 0) {
            tempNum = parseInt(array[i]);
            tempPos = 0;
        }

        else if (parseInt(array[i]) <= tempNum) {
            tempNum = parseInt(array[i]);
            tempPos = i;
        }
    console.log(i);
    }

}

它应该采用一个数组并按照从最小到最大的顺序对其进行排序,但是当 for 循环变得无限时甚至没有达到这一点。我做错了什么?

最佳答案

您在第一个 if 中设置了 i = 0,这意味着 i 永远不会大到足以退出 for 循环。您想使用 == 代替

即:

if (i = 0) {
    tempNum = parseInt(array[i]);
    tempPos = 0;
}

应该是

if (i == 0) {
    tempNum = parseInt(array[i]);
    tempPos = 0;
}

关于javascript - 无限 For 循环 - Javascript - 出了什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23205538/

相关文章:

javascript - 在进程中间提示用户确认

javascript - 为什么动态调用(Ajax)时 JavaScript 会失败?

c - 结构数组中的 strstr 字符数组

javascript - 检查所有玩家是否准备好

c++ - 新的 C++11 range-for (foreach) 语法 : which compilers support it?

javascript - 有没有办法在网站中嵌入和设计维基百科文章的样式?

javascript - 如何选择 jQuery 变量内部

java - 如何重新排列数组以使空值占据数组的开头?

arrays - Linux 庆典 : find folders containing specific text

javascript - 循环第一次执行与下一次执行之间的延迟