假设我只想要一个变量来保存一堆信息,而顺序并不重要。例如,我有一个变量players
,它可以保存游戏中玩家的所有信息。如果我使用一个对象来保存所有信息,那么以一种可能的方式使用数组是不是更好呢?
var players = [{ name: 'john', age: '10' }, { name: 'lily', age: '11' }];
与
var players = { john: { name: 'john', age: '10' }, lily: { name: 'lily', age: '11' } };
如果我计算玩家的数量,或直接访问/编辑玩家的信息,是不是以各种方式使用对象优于数组?
如果是这样,对象可以在任何无序情况下直接替换数组吗?
答案 0 :(得分:1)
您无法访问所有内置数组方法。如果你想要一个排序列表怎么办?我可以想象你想拥有一个数组的几十个场景。
你获得了什么?按名称访问数组中的对象?数组是对象,因此您只需扩展数组即可:
var players = [{ name: 'john', age: '10' }, { name: 'lily', age: '11' }];
players.forEach(function (player) {
players[player.name] = player;
});
console.log(player[0] === player.john); // true!