私はこれを解決するための最善の最小限の操作を探しています。配列を値とランクとして含む並べ替え辞書
var sourceDictionary = {
"200" : [
[ "a", 5 ],
[ "al", 6 ],
[ "xl", 8 ]
],
"201" : [
[ "b", 2 ],
[ "al", 16 ],
[ "al", 26 ],
[ "al", 9 ],
[ "al", 3 ]
],
"202" : [
[ "lm", 7 ]
]
}
Iは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" ]
.Thisは、他のすべての値のうちの最大である26としてランク1です。
Javascriptが配列は参照渡しされているので、あなたはこのようにそれを利用することができます最善の最適解のための最も好ましいlanguage.Looking
あなたはこの自分を解決しようと試みたことがありますか? – zfrisch
私のアプローチは普通だった...辞書をループし、すべての配列を1つの変数に集めて(そして参照を保持する)、それらを並べ替え、ランクを割り当てて、それを元のターゲット構造に戻す...その多くもし私が辞書に50万の鍵があると思えば、私のアプローチは本当に吸います。より良いアプローチをしている人を探してください。 – gully
おそらく間違いがあります。ランク-7はありません。それは意図的なのかそれとも間違いですか? –