函数返回多个值

问题描述

在这里有经过修改代码,如何传递参数?

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

解决方法

我认为您要问的是能够从您的方法中返回5个这些UUID?

我已修改您的Generator以返回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"]