有没有办法可以声明像这样的对象数组 [{}]?
所以在下面的代码中:
club = {};
club.player_DB = [{}]; // Player Database;
// club.player_DB[0] = {};
club.player_DB[0].code = 44;
console.log(club.player_DB[0].code);
// club.player_DB[1] = {};
club.player_DB[1].code = 21;
console.log(club.player_DB[0].code+" "+club.player_DB[1].code);
我用[{}]声明了club.playerDB,即包含一个对象的数组; 或者我是否必须在每个数组上为每个玩家声明对象(注释掉 {} 声明)。
谢谢。
Pointy 在他们的评论中的意思是你可以这样做:
const club = {};
club.player_DB = [{}]; // Declare an array containing an object.
club.player_DB[0] = 42; // Assign a number.
console.log(club.player_DB);
但是,正如 Ray Wallace 所解释的,您无法访问未定义对象的属性,因此您需要在向数组元素添加任何属性之前先分配它们:
const club = {player_DB: [{}]};
club.player_DB[0].code = 44; // The first element already exists.
club.player_DB[1] = {code: 21};
club.player_DB.push({code: 13});
console.log(club.player_DB[0].code+" "+club.player_DB[1].code+" "+club.player_DB[2].code);
另请注意,我在
const
对象初始化中添加了 club
关键字,以避免在全局范围内声明它。