循环浏览现有用户,直到找不到一个为止

我真的只是在胡闹,但遇到了一个问题。我想在用户点击页面中的div时创建一个用户名。

我想让它把用户名存储在一个数组中。如果用户名已经存在于数组中,我想让它重新运行函数来创建一个新的用户名,直到它找到一个不存在的用户名,然后将其放入数组中。

我只是不知道如何实现这个功能。有谁能帮忙吗?谢谢你的帮助

$(document).ready(function() {
  jQuery(function() {
    var usernames = [];

    function createUser() {
      var i = Math.floor((Math.random() * 10) + 1);
      var newUser = "Username" + i;
      return newUser;
    }

    $(".CreateUser").click(function() {
      var newUser = createUser();
      if (jQuery.inArray(newUser, usernames) !== -1) {
        newUser = createUser();
        console.log("User Exists");
      } else {
        usernames.push(newUser);
        $(".Usernames").append("<br>" + newUser);
        console.log(usernames);
        console.log("User Added");
      }
    });
  });
});

解决方案:

我们可以使用while循环,但我不建议在你的函数中使用它,所以更好的方法是制作一个带有初始值的函数,这样每次你点击按钮时,用户名就会改变。

function createUser(i) {
  var newUser = "Username" + i;
  return newUser;
}

$(document).ready(function () {
  var usernames = [];
  //initial value 
  var i = 1;

  $(".CreateUser").click(function () {
    var newUser = createUser(i);
   //increase the initial value so next username will be increased by 1
    i += 1;
    usernames.push(newUser);
    $(".Usernames").append("<br>" + newUser);
    console.log(usernames);
    console.log("User Added");
  });
});

检查这个 例子我把它做得尽可能简单。

要在一个数组中进行检查,你可以使用包含方法

var user_in_array = usernames.includes(newUser) // returns true of false 

生成一个随机字符串,并检查它是否存在。


function createUser() {
  var random_txt = Math.random().toString(36).substring(2);
  var newUser = "Username_" + random_txt;
  return newUser;
}

$(document).ready(function () {
  var usernames = [];
  //initial value

  $(".CreateUser").click(function () {
    var newUser = createUser();
    //increase the initial value so next username will be increased by 1

    while (usernames.includes(newUser)) {
      newUser = createUser();
    }
    usernames.push(newUser);
    $(".Usernames").append("<br>" + newUser);
    console.log(usernames);
    console.log("User Added");
  });
});

实例 此处

给TA打赏
共{{data.count}}人
人已打赏
解决方案

ERROR.(gcloud.compute.instance-groups.managed.rolling-action.replace)无法获取资源。(gcloud.compute.instance-groups.managed.rolling-action.replace)无法获取资源。

2022-4-20 11:08:42

解决方案

在类型参数上创建Show实例?

2022-4-20 11:08:44

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索