Biliyorum, TL; DR - lütfen bana eşlik et.Bir dizinin değerlerinin başka bir dizinin değerleriyle aynı olmadığını nasıl kontrol eder?
Bu Javascript işlevi, kullanıcı tarafından girilen iki dizgiyi (kullanıcı adı, parola) alması, iki alanı tahmin eden rasgele karakter tahminleri (92 karakter) üretmek için rastgele işlevi kullanarak her iki alanı doğru olarak tahmin etmesi gerekir. "Aynı zamanda, iki diziden oluşan iki kümenin değerlerini karşılaştırarak, aynı kullanıcı adı ve parolanızı tahmin etmek için kaç kez (deneme) olduğunu tahmin etmelisiniz: kullanıcı adı için kullanıcı tarafından girilen dizi veya kullanıcı adı için tahmin dizisi, ve şifre için kullanıcı tarafından girilen dizi vs şifre için tahmin dizisi.
ben sorun yaşıyorum kod ana hattı:
süre (! UserNameArray = userNameGuessArray & & passwordArray = passwordGuessArray) {(Dizilerin ikinci sette olmadan)
Normalde, Ben de "while döngüsü" yerleştirerek bu durumun üstesinden bir "döngü" şöyle: için
(x = 0; x < userNameArray.length; x ++) {
süre (userNameArray [x]! = UserNameGuessArray [x]) {
Tek sorun bu sefer Dizilerin ilk grubunun yanı sıra dizide başka bir set kontrol etmeniz gerekir olmasıdır. Değilse ile
"=!" ya da yukarıdaki kod ile nasıl bir çek iki diziler değil pay aynı değişkenleri yapmak durumunda:
Sorum şu?
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)]);
}
}
Herhangi bir yardım çok takdir edilecektir!
Bu yüzden parola tahmin edene kadar temelde rastgele harfler almaya çalışıyorsunuz? –
, kullanıcı girdisiyle eşleşecek tahminler oluşturmaya devam ederken anında tahmin dizileri oluşturuyor musunuz? – gurvinder372
Evet, aynı örnekte kullanıcı adı ve parolayı tahmin etme işlevini istiyorum, böylece 92 karakterlik bir alfabe içinde, tek bir karakter kullanıcı adı ve tek bir karakter parolası girdisini tahmin etmek için ortalama 92 * 92 girişimi gerekir.Kullanıcının girişini tek bir etiketinden başarıyla tahmin eden bir işlev zaten var. "A" gibi bir karakter dizisi için ortalama 92 deneme/tahmin yapar. Çözümü deneyeceğim 'sdsmith' beni bıraktı ve yarın nasıl geçtiğini size bildirir. Ayrıca evet, 'gurvinder372', diziyi push() ile temizler ve yeniden doldurur. – Mangofett