javascript - 将 JavaScript 用于数组和循环

标签 javascript arrays for-loop

我真的是 JavaScript 的新手,我被困在一个给我的练习上。我正在使用 TextPad,因为这是我被要求用于此练习的内容。

基本上我需要有一个输入参数,它是一个数字/整数,然后有 12 个输出参数,显示输入已除以 12,并且每个输出参数的值不超过前一个或下一个大于 1.

到目前为止,我已经使用数组和 for 循环编写了以下代码,但我只是不知道如何或如何获取输出参数以显示数组的每个值均分。

var amount = "30";

var camels = ["cam1", "cam2", "cam3", "cam4", "cam5", "cam6", "cam7", "cam8", "cam9", "cam10", "cam11", "cam12"]

for(i=0;i<camels.length;i++){
    WScript.echo(camels[i] + "|" + amount/12);
}

for(i=1; i<13; i++){
    n = Math.random();
    o = n * 12;
    p = o + 1;
    q = Math.floor(p);
}

这真的让我很困惑,所以任何帮助将不胜感激,但请记住我是一个完全的新手。

最佳答案

这是一道家庭作业题,如果您获得完整的解决方案,您将一无所获(除了您可能不配得到的 A!)

相反,我可以给你一些建议,希望能帮助你找到正确的答案。

首先要注意的是,在进行数学计算时,您希望处理数字,因此请适当更改第一行

var amount = 30;

(请注意,如果您让用户输入此数字,您需要确保其为数字并将其转换为数字 - 用户输入几乎总是字符串。使用 parseInt(<user input>,10))。

要做的第二件事是将您的金额除以 12。使用 Math.floor 为该数字取底得到一个整数。在这个例子中你会得到 24 .

(考虑上述内容的另一种方法是研究模运算符 % ,它可以代替使用)

此时您可以创建一个包含 12 个元素(每个 Camel 一个)的数组,每个元素的计数应为 2(每个元素代表 2 件 cargo )。 (见引用文献 1)

在这个例子中,您将得到 6 的剩余部分剩下要做的就是分发剩余的 6随机在你的 Camel 中。

您可以通过将所有 12 只 Camel 放入一个数组中来实现此目的,循环 6 (或者,无论您的余数是多少)次并在 0 之间选择一个随机数和 {length of camel array}-1 .将该 cargo 分配给选定的 Camel ,并从 Camel 阵列中删除该 Camel 。这确保了没有一头 Camel 会被随机分配超过一件的额外 cargo 。

与一般的编程一样,最后一点应该分解为单独的可管理步骤。

  1. 创建一个包含 12 个元素的数组(其中 12 是 Camel 的数量)。这个数组的元素应该是数字 0-11 代表前面数组中的索引
  2. 创建一个循环,为每个余数重复一次以下代码
  3. 循环内部:
    • 在 0 和在 1 中创建的数组的长度之间选择一个随机数(参见 ref2)。
    • 使用该随机数增加先前创建的数组中的计数
    • 从 1 中创建的数组中删除元素。

不要混淆;这里有 2 个数组。一个是您之前创建的 - 它有 12 个元素并跟踪每只 Camel 上的 cargo 数量,另一个是临时的,用于跟踪哪只 Camel 被分配了“额外” cargo 。前者永远不会改变长度,而后者会随着 Camel 分配额外的 cargo 而变小。


引用资料:

关于javascript - 将 JavaScript 用于数组和循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26254474/

相关文章:

javascript - Jasmine 运行测试 3 次

ios - UIButton 处于循环中,事件仅在第一个元素上触发

c++ - 使用 for 循环迭代固定数组是否比手动遍历它慢?

javascript - Access-Control-Allow-Origin 不允许“ip”

javascript - 我可以覆盖/重新定义 "global"Javascript 函数,如 confirm() 和 alert() 吗?

python - 多维切片数组Python

c - 数组大小在运行时确定

arrays - Haskell Data.Vector.Storable.unsafeFromForeignPtr 与 C 结构指针/数组字段

jquery - 在可变长度序列中使用 jQuery addClass

javascript - 查找网站中缺失的 Javascript