Javascript sort()与concat()

时间:2014-07-16 08:56:04

标签: javascript sorting concat

为什么在concat之后没有以数字顺序排序?

var hege = [34, 12];
var stale = [1, 78, 8, 4];
var children = hege.concat(stale).sort(); //1,12,34,4,78,8

http://jsfiddle.net/6kN5H/

3 个答案:

答案 0 :(得分:1)

.sort方法按字母顺序对元素进行排序

使用

.sort(function(a,b){return a - b})

var children = hege.concat(stale).sort(function(a,b){return a - b}); //1,4,8,12,34,78

<强> check this fiddle

答案 1 :(得分:1)

试试这个

hege.concat(stale).sort(function(a,b){return (+a)-(+b)})

我们在这里转换数字和数字中的每个值。按数字排序。

因为默认情况下javascript sort会按字母顺序排序,所以您必须指定要排序的方式。

答案 2 :(得分:-1)

function myFunction() {
    var hege = [34, 12];
    var stale = [1, 78, 8, 4];
    var children = hege.concat(stale).sort((hege, stale) => hege>stale); 
    document.getElementById("demo").innerHTML= children;
}
myFunction();