Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.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字母排序未对所有值进行排序_Javascript_Arrays_Sorting - Fatal编程技术网

JavaScript字母排序未对所有值进行排序

JavaScript字母排序未对所有值进行排序,javascript,arrays,sorting,Javascript,Arrays,Sorting,我试图用JavaScript按字母顺序对数组排序。为了测试和可读性,我减小了数组的大小(原来的数组没有那么大,但仍然存在同样的问题)。问题是,输出在列表的顶部有几个不按顺序排列的值。我多次尝试在几个不同的循环中运行排序,但似乎仍然无法正确排序。我环顾四周,大多数答案都是关于基本语法的。我对数字和其他类似的列表进行了排序,所以我感到困惑 提前谢谢 这是我的密码: var miniArr=['leatherwood','sacramento','ackerman','alma','anderson

我试图用JavaScript按字母顺序对数组排序。为了测试和可读性,我减小了数组的大小(原来的数组没有那么大,但仍然存在同样的问题)。问题是,输出在列表的顶部有几个不按顺序排列的值。我多次尝试在几个不同的循环中运行排序,但似乎仍然无法正确排序。我环顾四周,大多数答案都是关于基本语法的。我对数字和其他类似的列表进行了排序,所以我感到困惑

提前谢谢

这是我的密码:

var miniArr=['leatherwood','sacramento','ackerman','alma','anderson','ben wheeler','atlanta','bakersfield','albuquerque','baker','aspen','anchorage','antioch','benton','Cedarrapids','el cajon','boca raton','falcon','crestview','ceres deep run','fresno','eugene','fayetteville','Faifield','fort myers','butler','eunice'因奇纳蒂、布法罗、自由(沃特森维尔)、弗朗西斯·克里克、博尔德、沃思堡、埃德加敦、博尼塔、格伦·斯佩、格兰特通行证、克利夫兰、克林顿、科洛尼亚、丘拉·维斯塔、海湾微风、莱克兰、拉梅萨、贾斯珀、哈弗希尔、英格尔赛德(加拿大)、乔普林、汉考克、帕萨迪纳、洛夫兰、伦敦(加拿大)“,”隆波克“,”柠檬林“,”公园城“]
var排序=[];
变量2=[]
对于(变量x=0;x<100;x++){
排序=最小排序((a,b)=>a>b);
}
对于(变量x=0;x<100;x++){
sorted2=已排序。排序((a,b)=>a>b);
}
控制台日志(已排序);

console.log(sorted2);
对于字符串,请使用
localeCompare()

var miniArr=['leatherwood','sacramento','ackerman','alma','anderson','ben wheeler','atlanta','bakersfield','albuquerque','baker','aspen','anchorage','antioch','benton','Cedarrapids','el cajon','boca raton','falcon','crestview','ceres deep run','fresno','eugene','fayetteville','Faifield','fort myers','butler','eunice'因奇纳蒂、布法罗、自由(沃特森维尔)、弗朗西斯·克里克、博尔德、沃思堡、埃德加敦、博尼塔、格伦·斯佩、格兰特通行证、克利夫兰、克林顿、科洛尼亚、丘拉·维斯塔、海湾微风、莱克兰、拉梅萨、贾斯珀、哈弗希尔、英格尔赛德(加拿大)、乔普林、汉考克、帕萨迪纳、洛夫兰、伦敦(加拿大)“,”隆波克“,”柠檬林“,”公园城“]
var排序=[];
变量2=[]
对于(变量x=0;x<100;x++){
排序=最小排序((a,b)=>a.localeCompare(b));
}

console.log(排序);
比较器函数应该返回一个正数(在a>b的情况下)、负数(b>a)或零(a==b)而不是布尔值。尝试
miniArr.sort((a,b)=>a>b?1:a==b?0:-1);
对于字符串,使用
localeCompare()