我有一个像下面的哈希
a ={
0: [0, "A9"],
2: [0, "A9.4"],
8: [0, "A9.1"],
6: [1, "A9.5"],
5: [0, "A9.2"],
7: [2, "A9.3"]
};
我需要一个与每个Value数组的第二个元素相对应的排序数组。
即如果我的数组是
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);
关于javascript - Javascript按数组中的值对哈希进行排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37548218/