【问题标题】:Sorting an object ascending order in javascript在javascript中对对象升序排序
【发布时间】:2016-07-27 23:46:16
【问题描述】:

我有一个这样的数组对象:

var obj = {
  a : [0, 25],
  b : [1, 33],
  c : [2, 66], 
  d : [3, 12],
  etc..
}

如何根据数组的第二个值对其进行排序?排序后应该是这样的:

var obj = {
  d : [3, 12],
  a : [0, 25],
  b : [1, 33], 
  c : [2, 66],
  etc..
}

我发现了一个类似的问题,但没有帮助:Sort by object key in descending order on Javascript/underscore

【问题讨论】:

  • 你不能对对象的键进行排序,但你可以只对键进行排序,如果你愿意的话。
  • 对象的keys不能保证它的indext
  • 您的预期结果与帖子标题不匹配。您需要降序(标题)还是升序(示例)?
  • @Nina Scholz:对不起我的错。它应该是上升的。

标签: javascript


【解决方案1】:

您只能对对象的键进行排序。

var obj = { a: [0, 25], b :[1, 33], c: [2, 66], d: [3, 12] },
    keys = Object.keys(obj);

keys.sort(function (a, b) {
    return obj[a][1] - obj[b][1];
});

console.log(keys);

【讨论】:

  • 这种方式可以指导我。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-18
  • 2016-12-20
  • 2018-08-18
  • 1970-01-01
相关资源
最近更新 更多