繁体   English   中英

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

[英]Javascript Sort a hash by values in array

我有一个像下面的哈希

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM