声明一个包含对象的Javascript数组

问题描述 投票:0回答:1

有没有办法可以声明像这样的对象数组 [{}]?

所以在下面的代码中:

 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,即包含一个对象的数组; 或者我是否必须在每个数组上为每个玩家声明对象(注释掉 {} 声明)。

谢谢。

javascript arrays object
1个回答
0
投票

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
关键字,以避免在全局范围内声明它。

© www.soinside.com 2019 - 2024. All rights reserved.