Функция возвращает несколько значений

#javascript #arrays #function #parameters #arguments

#javascript #массивы #функция #параметры #аргументы

Вопрос:

У меня есть этот измененный код здесь, как мне передать аргумент?

 function RNG(min, max) {
  return Math.floor(Math.random() * (max - min   1))   min;
}

function RCG() {
  var char = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
  var randomNumber = RNG(0, char.length - 1);

  return char[randomNumber];
}

function Generator(n) {
  var serialNumber;
  var template = "0000-0000-0000-0000";

  if (template != null) {
    for (var i = 0; i < template.length; i  ) {
      var templateChar = template[i];
      serialNumber  = templateChar == "0" ? RCG() : templateChar;
    }
  }

  return serialNumber;
}

console.log(Generator(5));
  

Поэтому, когда я ввожу 3 в качестве аргумента, результат будет выглядеть:

 asda-asda-asda-asda
asda-asda-asda-asda
asda-asda-asda-asda
  

Ответ №1:

Я думаю, что вы просите, чтобы иметь возможность возвращать 5 из этих UUID из вашего метода?

Я модифицировал ваш генератор, чтобы возвращать массив UUID

 function Generator(n) {
  var template = "0000-0000-0000-0000";
  var res = []; // declare an empty array
  if (template != null) {
    for (var j = 0; j < n; j  ){
        var serialNumber = "";
        for (var i = 0; i < template.length; i  ) {
          var templateChar = template[i];
          serialNumber  = templateChar == "0" ? RCG() : templateChar;
        }
        res.push(serialNumber); // add uuid in the array
    }
  }

  return res; // return the array
}
  

Вывод:

 ["1MYK-G2BB-YPG4-UYHU", "PWW1-6297-2VJX-56F2", "5U5B-A40D-9V43-WC6Y", "FQHQ-BU6A-CDS8-Y2J7", "23WK-1ASP-YA5Z-TS0R"]
  

Комментарии:

1. Спасибо, это было круто! Лучше, чем я себе представляю. Я также вношу некоторые альтернативные изменения, но каким-то образом последние 2 строки дублируются. Я постараюсь исправить это позже и сохранить ваш код в качестве ссылки. Еще раз, спасибо! 😀