【问题标题】:How can I assign a random number to each object in an array in javascript?如何在javascript中为数组中的每个对象分配一个随机数?
【发布时间】:2019-12-06 04:01:36
【问题描述】:

好吧,那我为什么要问这个问题呢?因为我正在制作一个简单的进化模拟器。在其中,每个生物每一代都会获得随机数量的食物。每个生物获得的食物量对于它是否生存至关重要。由于我看到它工作的唯一方法是在数组中(而且我不擅长数组)你能帮我找到一种方法将这些数字分配给数组中的对象吗?

我浏览了多个网站以寻找答案,但没有一个能找到答案。我也没有任何代码,你能提交一些代码,以便我看看我需要做什么吗?

【问题讨论】:

  • 嗨!请使用tour(您将获得徽章!)并通读help center,尤其是How do I ask a good question? 您最好的选择是进行研究,search 以获取有关 SO 的相关主题,然后试一试. 如果您在进行更多研究和搜索后遇到困难并且无法摆脱困境,请发布您的尝试minimal reproducible example,并具体说明您遇到的问题。人们会很乐意提供帮助。
  • 如果您不是“擅长数组”,那么您实际上可以创建一个简单的“进化模拟器”的机会非常渺茫,不要误以为这是......不过提供一些示例你已经拥有的代码,你的结构是什么,你的“生物”对象是什么等等......
  • 这更像是一个准备项目,没有任何选择。我只需要找到一种方法来随机化数字,这样我就可以走上正轨。

标签: javascript arrays random numbers


【解决方案1】:

您可以遍历数组并为每个生物分配一个随机值。 示例:

let creatures = [
  {name: "Bob", food: 0},
  {name: "Alice", food: 0},
  {name: "Steve", food: 0}
];

for(let creature of creatures)
  creature.food = Math.random(); // random number for food between 0-1
  
console.log(creatures);

【讨论】:

    【解决方案2】:

    简单做:

    const creatures = [{
            name: "Bob"
        },
        {
            name: "Alice"
        },
        {
            name: "Steve"
        }
    ];
    const creaturesWithFood = creatures.map((creature) => {
        return {
            food: Math.floor(Math.random() * 20),
            ...creature
        }
    });
    console.log(creaturesWithFood);
    

    我已将数字限制在 20 以下...您可以根据需要更改它,希望这会有所帮助:)

    【讨论】:

    • 高兴.. 编码愉快 :)
    猜你喜欢
    • 2020-10-12
    • 1970-01-01
    • 2020-10-12
    • 2019-08-07
    • 2016-01-09
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 2021-12-13
    相关资源
    最近更新 更多