我正在寻找最佳解决此问题的最佳解决方案。将包含数组的字典排序为值和排名
var sourceDictionary = {
"200" : [
[ "a", 5 ],
[ "al", 6 ],
[ "xl", 8 ]
],
"201" : [
[ "b", 2 ],
[ "al", 16 ],
[ "al", 26 ],
[ "al", 9 ],
[ "al", 3 ]
],
"202" : [
[ "lm", 7 ]
]
}
我要排序基于包含在每个键的整数值的字典,然后排列每一个值,如图中outputputDictionary。
var targetDictionary = {
"200" : [
[ "a", 5, "rank-7" ],
[ "al", 6, "rank-6" ],
[ "xl", 8, "rank-4" ]
],
"201" : [
[ "b", 2, "rank-9" ],
[ "al", 16, , "rank-2" ],
[ "al", 26, "rank-1" ],
[ "al", 9, "rank-3" ],
[ "al", 3, "rank-8" ]
],
"202" : [
[ "lm", 7, "rank-5" ]
]
}
例如[ "al", 26, "rank-1" ]
。这是等级1,因为26是所有其他值中最大的等级。
JavaScript是最好最佳的解决方案,最优选language.Looking
你有没有尝试这种解决自己呢? – zfrisch
我的方法很正常...循环访问字典,将所有数组收集在一个变量中(并保留引用),然后对它们进行排序,分配等级并将其转换回愿意的目标结构......其中很多操作,如果我认为字典中有五十万个键,我的方法真的很糟糕......因此寻找任何有更好方法的人 – gully
你可能有一个错误,没有'rank-7'。它是故意的还是错误的? –