我有一个像下面的哈希
a ={
0: [0, "A9"],
2: [0, "A9.4"],
8: [0, "A9.1"],
6: [1, "A9.5"],
5: [0, "A9.2"],
7: [2, "A9.3"]
};
我需要一个与每个值的数组的第二个元素相对应的排序数组。
即如果我的数组是 a = {key: [value_1_integer, value_2_string]}
的形式
我需要按value_2_string
对哈希进行排序,因此结果数组是
result = [0, 8, 5, 7, 2, 6]
您可以使用回调对键应用Array#sort
,该回调采用属性的第二个元素进行排序。
var object = { 0: [0, "A9"], 2: [0, "A9.4"], 8: [0, "A9.1"], 6: [1, "A9.5"], 5: [0, "A9.2"], 7: [2, "A9.3"] },
keys = Object.keys(object).sort(function (a, b) {
return object[a][1].localeCompare(object[b][1]);
});
console.log(keys);