JavaScript でマップまたは辞書スタイルのデータ構造を作成しようとしています。各文字列キーは int の配列を指しています。キーが指している配列を使っていくつかの簡単なことをしたいと思います。
私はたくさんの動物を飼っており、それぞれに ID (1,2,3,...) が付いています。これらをマップに入れたいので、1、4、5 が猫で、2、3、6 が犬であることがわかります。
これをよりよく説明するためのコードを次に示します。
var myMap = {};
myMap["cats"] = new Array(1,4,5); //animals 1,4,5 are cats
myMap["dogs"] = new Array(2,3,6); //animals 2,3,6 are dogs
1) 配列に何かを追加するにはどうすればよいですか? たとえば、動物 #7 が猫の場合、次のコードは正しいでしょうか?
myMap["cats"].push(7); //so that myMap["cats"] is now an array with [1,4,5,7]
2)キーが配列内のアイテムの数で順序付けられるようにマップをソートするにはどうすればよいですか? この場合、myMap["cats"] は myMap["dogs"] の前になります。これは、"cats" の配列が "dogs" の配列よりも多くのアイテムを持っているためです。次のコードは正しいでしょうか?
myMap.sort(function(a,b){return myMap[b].length - myMap[a].length});
JavaScript でこれを行うより効率的な方法がある場合は、お知らせください。どうもありがとう!