按数字排序数字

时间:2017-11-11 12:14:14

标签: javascript jquery

db.collection.find({"createdAt": { $gte : new ISODate("2017-05-15T02:08:48.419+05:30") }})

给出:

var a = [[11,"b"], [2,"b"], [11,"a"], [1,"a"], [1,"a"]];
a.sort();
alert(JSON.stringify(a)); 

我如何按数字排序?

2 个答案:

答案 0 :(得分:0)

假设内部数组的第一个元素总是一个数字,基于你想要对数组进行排序,你可以只比较内部数组中的第一个[0]

注意a[0] - b[0]会按升序对元素进行排序。



const a = [[11,"b"], [2,"b"], [11,"a"], [1,"a"], [1,"a"]];

const r = a.slice().sort((a, b) => a[0] - b[0]);

console.log(JSON.stringify(r));




答案 1 :(得分:-1)

您可以使用underscoreJs _.sortby函数



var a = [[11,"b"], [2,"b"], [11,"a"], [1,"a"], [1,"a"]];
var b = _.sortBy(a,function(val){
    return val[0];
});
console.log(JSON.stringify(b)); 

<script src="https://cdn.jsdelivr.net/npm/lodash@4.17.4/lodash.min.js"></script>
&#13;
&#13;
&#13;