如何检查一个数组的值是否与另一数组的值不相等
How does one check if values of one array do not equal the values of another array?
我知道,TL;DR-请耐心等待。
这个Javascript函数应该接受用户输入的两个字符串(用户名、密码),使用随机函数正确猜测两个字段,生成存储在两个"猜测数组"中的随机字符猜测(共92个字符),并通过比较两组两个数组的值来告诉在同一实例中猜测用户名和密码需要多少次(试用):用户名的猜测数组与用户输入的用户名数组,以及密码的猜测数组与密码的用户输入数组。
我遇到麻烦的主要代码行:
while(userNameArray!=userNameGuessArray&&passwordArray!=passwordGuessArray){
通常(如果没有第二组数组),我会通过在"for循环"中嵌套"while循环"来处理这种情况,如下所示:
对于(x=0;x<userNameArray.length;x++){
while(userNameArray[x]!=userNameGuessArray[y]){
唯一的问题是,这次我需要检查除了第一组数组之外的另一组数组。
我的问题是:
如果不使用"!="或上面的代码,如何检查两个数组是否不共享完全相同的变量?
var username = document.getElementById("your_Username").value;
var userNameArray = username.split("");
var userNameGuessArray = [];
var password = document.getElementById("your_Password").value;
var passwordArray = password.split("");
var passwordGuessArray = [];
var alphabet = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u",
"v","w","x","y","z","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T",
"U","V","W","X","Y","Z","0","1","2","3","4","5","6","7","8","9","`","~","!","@","#","$","%","^","&",
"*","(",")","[","]","{","}","_","-","|","''","'",'"',",",".",":",";","<",">","/","?"];
var trials = 0;
while (userNameArray != userNameGuessArray && passwordArray != passwordGuessArray){
trials++;
userNameGuessArray = [];
passwordGuessArray = [];
for (z = 0; z < userNameArray.length; z++){
userNameGuessArray.push(alphabet[Math.floor(Math.random()*92)]);
}
for (y = 0; y < passwordArray.length; y++){
passwordGuessArray.push(alphabet[Math.floor(Math.random()*92)]);
}
}
如有任何帮助,我们将不胜感激!
您可以编写一个助手函数来检查数组是否相等。关于这样的功能,请参阅本文。
然后你可以说:
while(!arrayEqual(arr1, arr2) && !arrayEqual(arr3, arr4))
编辑:
您应该阅读重构,这是一种将代码重组为更简单、可重用的单元的方法。
重构就是我们在这里所做的。检查数组是否相等并不取决于程序的功能,因此我们可以将其分解为自己的功能。这减少了现有函数中的代码,提高了可读性,并允许代码的其他部分重用arrayEqual
函数。
- 查找对象数组是否包含其中一个标记的最快方法
- 检查数组是否包含
- 确定数组是否包含偶数
- 在 JavaScript 中连接字符串或数组是否更快
- 检查对象数组是否具有所有必需的键
- 检查数组是否包含指定的对象
- 在通过套接字发送到客户端之前压缩中等大小的javascript数组是否值得
- 检查数组是否有空元素
- 检查输入框的数组是否为空
- 如何检查JSON数组是否等于
- 检查数组是否已定义并且具有长度
- 检查数组是否包含特定对象
- 什么'最合适的数据结构是什么?(使用一个有间隙的数组是否存在缺点或注意事项?)
- 如何检查子集数组是否包含超集数组之一
- 检查对象数组是否包含布尔值true/false
- 检查数组是否在MongoDB文档中包含帖子ID
- 检查数组是否包含允许或不允许的字符
- 检查 javascript 数组是否不仅包含空值
- 在循环时修改数组是否安全
- 列表/数组是否有效 JSON