Почему в примере 1 мне дали 15 уникальных символов, а в примере 2 — 15 ОДИНАКОВЫХ символов? [дубликат]Javascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 Почему в примере 1 мне дали 15 уникальных символов, а в примере 2 — 15 ОДИНАКОВЫХ символов? [дубликат]

Сообщение Anonymous »

Я новичок в JavaScript (и в программировании в целом) и надеялся, что кто-нибудь поможет мне понять, почему я получил такие результаты в двух разных примерах.
Я создаю генератор паролей. После нажатия кнопки должны появиться два пароля из 15 разных символов. Код включает массив Math.random и цикл for.
В примере 1 код содержит 15 уникальных символов (0M,OL#v4v9*C?.Z). В примере 2 код дал 15 одинаковых символов (ММММММММММММ).
Пример 1 дал мне 15 разных символов из массива (именно это я и хотел). ):

Код: Выделить всё

const characters = ["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","~","`","!","@","#","$","%","^","&","*","(",")","_","-","+","=","{","[","}","]",",","|",":",";","",".","?",
"/"];

let passwordLength = 0
let password1El = document.getElementById("password1-el")
let password2El = document.getElementById("password2-el")
let passwordsBtn = document.getElementById("passwords-btn")

passwordsBtn.addEventListener("click", function() {
passwordLength = 15
for (let i = 0; i < passwordLength; i++) {
password1El.textContent += characters[Math.floor(Math.random() * characters.length)];
password2El.textContent += characters[Math.floor(Math.random() * characters.length)]
}
})
Пример 2 дал мне 15 одинаковых символов из массива (что не то, что я хотел):

Код: Выделить всё

const characters = ["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","~","`","!","@","#","$","%","^","&","*","(",")","_","-","+","=","{","[","}","]",",","|",":",";","",".","?",
"/"];

let passwordLength = 0
let password1El = document.getElementById("password1-el")
let password2El = document.getElementById("password2-el")
let passwordsBtn = document.getElementById("passwords-btn")

passwordsBtn.addEventListener("click", function() {
passwordLength = 15
let index1 = Math.floor(Math.random() * characters.length)
let index2 = Math.floor(Math.random() * characters.length)
for (let i = 0; i < passwordLength; i++) {
password1El.textContent += characters[index1];
password2El.textContent += characters[index2]
}
})
Я просто хочу убедиться, что понимаю разницу в том, о чем я спрашивал в каждом примере. Я ценю всех, кто может найти время, чтобы помочь мне.
Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/793 ... e-15-of-th
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Javascript»