javascript - 在Javascrypt的for循环中从其他随机数组元素构建数组
问题描述
如果我们想使用数组的随机词构建一个短语,我们可以使用
part_0=["Hello",....]
part_1=["I am",.....]
phrase=part_0[Math.round(Math.random() *(part_0.length-1))]+part_1[Math.round(Math.random() *
(part_1.length-1))]+...+part_n[Math.round(Math.random() *(part_n.length-1))]
但是正如您在上面看到的那样,对于许多单词来说,这将花费太长时间,所以我尝试使用 for 循环来构建短语,而不是那个胖部分。这里的问题是,在 for 循环中,part_i 被读取为纯文本,而不是 part_number(i)
for (var _i = 0; _i < 3; _i++) {
phrase.add(part_i);
};
有什么办法解决这个问题吗?谢谢
解决方案
您需要的是这些数组的数组:
function pickRandom(arr) {
return arr[Math.floor(Math.random() * arr.length)];
}
let sections = [
["Hello,", "Hi,", "Howdy!", "Hey,"],
["I am", "You are", "They are", "We are"],
["making", "building", "crafting", "decorating"],
["a tower", "a machine", "a table", "a chair"],
["with", "using", "gluing", "consisting of"],
["toilet paper", "plastic cups", "paper clips", "staples"]
];
let phrase = sections.map(pickRandom).join(" ");
console.log(phrase);
推荐阅读
- slack - Slack 机器人和应用程序令牌之间的区别
- flutter - Flutter 图像选择器不会出现在 Android 10 中
- python - python ssl编码中`context.load_verify_locations("/etc/ssl/certs/ca-bundle.crt")`的作用是什么?
- r - 在 ggfortify 中为 PCA 从 autoplot 再现负载
- python - 如何使用 Plotly 绘制多个图表,其中每个图表针对不同的(下一天)?
- python - Flask API 返回错误的 JSON 或空白列表
- java - 从 android_alarm_manager 调用 flutter_local_notification 时出现问题,运行时会出现 MissingPluginException
- c - 拥有一个大小为零的指针数组意味着什么?
- google-chrome - Chrome:WebCodecs API(又名 MediaCodecs)可用吗?
- python - 在 Maya 中作为守护进程运行后台代码,scriptJob