我正在尝试在 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 中有更有效的方法可以做到这一点,请告诉我。太感谢了!