我的Bubblesort只能对数字进行排序。JavaScript

我的Bubblesort只能对数字进行排序。JavaScript,javascript,sorting,bubble-sort,Javascript,Sorting,Bubble Sort,今年夏天我开始使用JavaScript。这是我的第一种编程语言,我通过一本书来学习它。现在我编写了一个bubblesort,但它首先不起作用。正如我在书中写的一样,它仍然不起作用(我的浏览器(Chrome)只是永远加载)。我试了一下,过了一会儿,我意识到这对字母不起作用。(在书中,他们对名字进行了排序)。所以我整理了一些数字。过了一会儿,我意识到在没有“1”的情况下,它无法对数组排序。 对不起,英语不好,我不是以英语为母语的人。(我翻译了变量以便更容易阅读) var编号=[3,2,1]; 变量字

今年夏天我开始使用JavaScript。这是我的第一种编程语言,我通过一本书来学习它。现在我编写了一个bubblesort,但它首先不起作用。正如我在书中写的一样,它仍然不起作用(我的浏览器(Chrome)只是永远加载)。我试了一下,过了一会儿,我意识到这对字母不起作用。(在书中,他们对名字进行了排序)。所以我整理了一些数字。过了一会儿,我意识到在没有“1”的情况下,它无法对数组排序。 对不起,英语不好,我不是以英语为母语的人。(我翻译了变量以便更容易阅读)

var编号=[3,2,1];
变量字母=[“c”、“b”、“a”];
函数bubbleSort(列表){
做{
var=false;
对于(变量i=0;i[i+1]){
记住=列表[i];
列表[i]=列表[i+1];
列表[i+1]=记住;
更改=正确;
}
}
}while(changed==true);
退货清单;
}
警报(气泡排序(编号));
警报(气泡运动(字母));
如果有人在他的浏览器中测试它,如果这个bug也出现在那里,那就太好了。如果您发现任何错误,请与我联系:)。
感谢使用.charCodeAt(数组位置)方法对每个字符串进行排序

试试js中的默认排序函数

var numbers = [3, 2, 1];
var letters = ["c", "b", "a"];
alert(numbers.sort());
alert(letters.sort());

你唯一的问题似乎是:

if (list[i] > [i + 1])
应该是:

if (list[i] > list[i + 1])

这使算法不再挂起,而且似乎排序正确。

如果条件看起来不正确
if(list[i]>list[i+i])
这是真正的代码输入错误还是复制错误?谢谢你,詹姆斯:)。首先,他试图学习如何编写排序算法,而不是如何对数字进行排序。其次,
numbers.sort()
如果存在具有不同位数的数字,则将不起作用。
.charCodeAt()
只能用于字符串,而不能用于数组。
if (list[i] > list[i + 1])