【发布时间】:2020-05-25 15:32:11
【问题描述】:
function whosPaying(name) {
var position = name.length;
var randomPerson = Math.floor(Math.random() * position);
console.log(name[randomPerson] + " is going to buy lunch.");
}
whosPaying("Jack", "Ben", "Jenny", "Michael", "Chloe");
当我运行此代码以在控制台日志中获取输出而不是选择名称时,它会从第一个名称中选择一个字母(此处为:jack)。
【问题讨论】:
-
因为
name只包含字符串"Jack"。为什么你认为name会是一个数组? -
你应该传递数组而不是 whosPaying(["Jack", "Ben", "Jenny", "Michael", "Chloe"]);
-
问题是你没有使用数组。要将数组传递给
whosPaying,请创建一个数组(使用[]):whosPaying(["Jack", "Ben", ...]);(或使用rest 参数。)
标签: javascript arrays random