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

时间:2016-05-31 14:16:09

标签: javascript angularjs sorting

我有一个像下面的哈希

Test Template     My Logging

我需要一个对应于每个Value数组的第二个元素的排序数组。

如果我的数组采用 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

1 个答案:

答案 0 :(得分: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);