Javascript Map和Reduce with Sort

时间:2014-10-28 15:12:40

标签: javascript sorting map reduce

在这行代码中,它连接两个数组并将每个值乘以2:

[[3,2,1],[6,5,4]].reduce(function(p,c,i,a) {
    return p.concat(c) 
}).map(function(v) {
    return v * 2 
}).sort()

我希望对最终输出进行排序,但事实并非如此。结果是:

[10, 12, 2, 4, 6, 8]

如果我把它排序在前面,它会重新排序:

[[3,2,1],[6,5,4]].reduce(function(p,c,i,a) {
    return p.concat(c) 
}).sort().map(function(v) {
    return v * 2 
})

结果:

[2, 4, 6, 8, 10, 12]

这里发生了什么?这不是一个重复的问题,如下所述。并且引用的重复也是错误的。 .sort确实会对数字进行排序:

[10,12,2,4,6,8].sort() = [2,4,6,8,10,12]

0 个答案:

没有答案