Javascript случайный код для выбора массива некорректно работает - PullRequest
0 голосов
/ 25 мая 2020

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).

Ответы [ 2 ]

1 голос
/ 25 мая 2020

Вместо этого используйте остальные параметры, чтобы вы могли получить все аргументы в виде массива, а затем выберите случайный элемент из массива:

function whosPaying(...people) {
  const randomPerson = people[Math.floor(Math.random() * people.length)];
  console.log(randomPerson + " is going to buy lunch.");
}


whosPaying("Jack", "Ben", "Jenny", "Michael", "Chloe");

Или передать массив вместо нескольких аргументов:

function whosPaying(people) {
  const randomPerson = people[Math.floor(Math.random() * people.length)];
  console.log(randomPerson + " is going to buy lunch.");
}


whosPaying(["Jack", "Ben", "Jenny", "Michael", "Chloe"]);
0 голосов
/ 25 мая 2020

Я вижу, вы передаете строки. Передайте его как массив Вместо этого вы должны передать массив whosPaying(["Jack", "Ben", "Jenny", "Michael", "Chloe"]);

...