【问题标题】:Turn a for loop into a static array?将 for 循环变成静态数组?
【发布时间】:2013-11-28 11:56:42
【问题描述】:

我正在开发一个主干应用程序,并提供了一些示例代码,提供者将数据放入生成数字的 for 循环中,我不希望这样。我需要输入像 Kobe、Lebron 等球员的名字,而不是 player_1、player_2。

//generate 20 players
for(var i=1; i <= 20; i++) {
    players.add({
        id: i,
        name: 'player_' + i,
        score: Math.floor((Math.random()*20)+20)
    });
}

//generate 4 teams, and assign players to them at the same time...
for(var i=1; i <= 4; i++) {
    teams.add({
        id: i,
        name: 'team_' + i,
        players: new App.Collections.Players(players.filter(function(player) {
          return (player.id <= i*5 && player.id > (i-1)*5);
        }))
    });
}

我不知道如何将其变成静态片段,以便我可以手动输入玩家姓名(姓名:mike,姓名:john)当然不是那种格式,但我不想要(姓名:player_1,名称:player_2) .

我 console.logged teams.toJSON() 我在控制台中获取了对象,但我不知道如何获取原始 JSON 数据,因此我可以了解如何构造一个硬编码的 JSON 数组。

【问题讨论】:

  • 循环一个名称数组而不是数字?
  • 这确实让我想到了,但我对 javascript 还是很陌生,我不知道如何创建一个名称数组然后将其实现到循环中......这可能是问题本身,但我不介意静态地写它。我对所有解决方案持开放态度,如果您能提供一个样本或者小提琴,请将其发布为答案,然后我可以奖励您。
  • names=['mike','john']; for (var i=0; i&lt;names.length; i++) ...。与具有这些基本结构的任何其他语言相同。
  • 哦,嗯,让我试试吧:) 谢谢。
  • 我建议您在这里 jqfundamentals.com/chapter/javascript-basics 浏览 JavaScript 基础知识。并不是说听起来很粗鲁,但如果您对数组没有基本了解,我不确定您如何使用 Backbone...

标签: javascript arrays json


【解决方案1】:

从你的cmets我理解的是,你需要写

names=['mike','john'];
for(var i=0; i < names.length; i++) {
    players.add({
        id: i,
        name: 'player_' + names[i],
        score: Math.floor((Math.random()*20)+20)
    });
}

就像其他语言一样,您必须提供索引号才能从数组中获取特定元素。

【讨论】:

  • 我更新了答案,初始代码 i 以 1 开头,但数组索引以 0 开头,所以我更改了循环
猜你喜欢
  • 2018-03-05
  • 2021-02-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多