Javascript 按数组中的值对哈希进行排序



我有一个像下面的哈希

 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);

最新更新