我有一个包含键值对的数组,数组列是id和name。我想按ID对这个数组进行排序。
id列的值是字符串类型,但我想将它们排序为数字值,也应该在IE上工作
这是我的代码:
var items = [{
"id": "165",
"name": "a"
},
{
"id": "236",
"name": "c"
},
{
"id": "376",
"name": "b"
},
{
"id": "253",
"name": "f"
},
{
"id": "235",
"name": "e"
},
{
"id": "24",
"name": "d"
},
{
"id": "26",
"name": "d"
}
];
console.log(items.sort((a, b) => Number(a.ID) - Number(b.ID)))
尽管顺序确实发生了变化,但也没有像预期的那样在IE中发生变化。
答案 0 :(得分:2)
现在,您可以使用sort方法使用纯JS来完成此操作。
var items = [
{
"id": "165",
"name": "a"
},
{
"id": "236",
"name": "c"
},
{
"id": "376",
"name": "b"
},
{
"id": "253",
"name": "f"
},
{
"id": "235",
"name": "e"
},
{
"id": "24",
"name": "d"
},
{
"id": "26",
"name": "d"
}
];
items.sort((a,b)=>+a.id>+b.id);
console.log(items);