按JavaScript中的Object属性值排序?

时间:2016-06-08 10:39:14

标签: javascript sorting object

我有一个这样的对象:

object in JavaScript

我想做两件事。

  1. 根据属性
  2. 对属性进行排序
  3. 我想知道任何给定属性的顺序(或索引)。例如,订购后,我想知道00D的索引是 5th
  4. 如何在JavaScript中实现这一目标?

1 个答案:

答案 0 :(得分:1)

虽然您无法对对象的属性进行排序,但您可以使用对象的键数组,对它们进行排序并获取所需的元素。

var keys = Object.keys(object),     // get all keys
    indices = Object.create(null);  // hash table for indices

// sort by value of the object
keys.sort(function (a, b) { return object[a] - object[b]; });

// create hash table with indices
keys.forEach(function (k, i) { indices[k] = i; });

// access the 5th key
console.log(keys[5]);

// get index of 00G
console.log(indices['00G']);