Javascript 使用For循环将相同的信息推送到两个阵列
这是一个理论问题,如果我有一个JavaScript应用程序,其中我有多个玩家,每个玩家将有100个计算机生成的数学问题 在单人模式下,只需为单人生成问题即可:Javascript 使用For循环将相同的信息推送到两个阵列,javascript,arrays,Javascript,Arrays,这是一个理论问题,如果我有一个JavaScript应用程序,其中我有多个玩家,每个玩家将有100个计算机生成的数学问题 在单人模式下,只需为单人生成问题即可: var player1Qs = []; for (i = 0; i < maxQustions; i++) { // Generate Question Object var question = {}; ... // Add to Array player1Qs.push(question); }
var player1Qs = [];
for (i = 0; i < maxQustions; i++) {
// Generate Question Object
var question = {};
...
// Add to Array
player1Qs.push(question);
}
var player1Qs=[];
对于(i=0;i
这没有问题。然而,当我使用与上面相同的想法在混音中添加第二个播放器时,我感到有点困惑。我正在尝试不使用多维数组来实现它,因为我试图使它尽可能简单,但这可能是不可避免的
因此,玩家2看起来与此类似:
var player1Qs = [];
var player2Qs = [];
for (i = 0; i < playerCount; i++) {
for (j = 0; j < maxQustions; j++) {
// Generate Question Object
var question = {};
...
// Add to Array
???
}
}
var player1Qs=[];
变量player2Qs=[];
对于(i=0;i
是否有一种方法可以使用for循环动态添加到这两个数组中?或者我需要一个包含玩家的数组,里面有一个用于提问的数组吗?类似的东西应该可以解决这个问题:
// Make sure all players exist.
var players = [];
for (var i = 0; i < playerCount; i++) {
players.push({ name: "Player " + i, questions: [] });
}
// Create questions
for (var i = 0; i < maxQuestions; i++) {
// Generate Question Object
var question = {};
// Do stuff with this question
// Assign the current question to all players.
for (var j = 0; j < playerCount; j++) {
players[j].questions.push(question);
}
}
//确保所有玩家都存在。
var=[];
对于(变量i=0;i
按照这种方法,我假设您有动态播放器及其阵列:-
var data = {};
var player = [1,2]
var c = [1,2,3,4,5]
for(j=0;j<player.length;j++)
{
data['players'] = player;
data['questions'] = c
}
console.log(data)
var data={};
var player=[1,2]
变量c=[1,2,3,4,5]
对于(j=0;j
我正在尝试不使用多维数组来实现它,因为我试图使它尽可能简单
我认为二维数组是最简单的用例,正如您在问题中所建议的:
或者我需要一个包含玩家的数组,里面是一个数组
有问题吗
答案是肯定的(至少如果你想保持简单的话)。玩家数组将保留所有玩家,每个玩家可以有100个问题
var maxQustions=100;
var玩家=[]
变量player1Qs=[];
变量player2Qs=[];
玩家。推(玩家1q);
玩家。推(玩家2q);
对于(i=0;i }
您想添加相同的问题集吗?如果您只有两个数组,您可以将其推送到这两个数组中。如果有更多问题,我建议创建玩家数组,然后在该数组中循环并推送。“或者我需要一个包含玩家的数组,并在该数组中放置问题?”-是的,是的,我想为每个玩家添加相同的问题集,这样他们都有自己的进度路线-这将为每个玩家添加相同的问题?看起来是这样,但我认为我只是重复检查?是的,你在I
循环的每次迭代中创建的问题将添加到eve中r玩家。谢谢-我来试试:)@DHRUVGUPTA:这就是OP想要的。让OP看一看你自己的答案,在接受的答案上是不太好的。哦,我很抱歉@Cerburs,但我只是想向他展示我的简短方法:)我不会总是有第二个玩家-有时我只有一个玩家和一个CPU对手-这就是为什么我试图避免第二个推为什么你在那里使用循环?对于循环的每个迭代,您都在做不同的事情。我还应该使用什么。@Cerburs这是错误的,因为您投了反对票。不公平。@DHRUVGUPTA:好好看看for
循环<在您的示例中,code>data['players']
设置为player
,两次。如果删除for
循环,只保留两行数据[''']
行,代码将给出完全相同的结果。这与嫉妒无关。