#javascript #arrays #function
Вопрос:
JavaScript — Код Visual Studio Итак, я пытаюсь создать простой генератор случайных паролей, я создал 4 разных массива, в каждом из которых есть функция для генерации случайного элемента из каждого, моя проблема в том, что я не уверен в том, как создать пятую функцию, которая может вызывать другие и помещать их в строку с пробелами (т. Е. 5 счастливых поющих кошек). Я очень новичок в программировании, поэтому не до конца понимаю его, я опубликую то, что у меня есть до сих пор.
//Function to generate and display to console Word 1 - random number
function Word1() {
var random = Math.floor(Math.random() * 9 1);
return random
}
console.log(Word1());
// function to generate and display to console Word 2 - random emotion
function Word2() {
var emotions = ['sad', 'happy', 'cheerful', 'angry', 'fear', 'surprise'];
return emotions[Math.floor(Math.random() * emotions.length)];
}
console.log(Word2());
//function to generate and display to console Word 3 - random plural noun
function Word3() {
var emotions = ['computer', 'day', 'car', 'flower', 'house', 'cat'];
var plural = ['s'];
var random = emotions[Math.floor(Math.random() * emotions.length)];
var emotion_plural = random plural;
return emotion_plural
}
console.log(Word3());
//function to generate and display to console Word 4 - random verb
function Word4() {
var verbs = ['running', 'walking', 'sleeping', 'talking', 'singing', 'sitting'];
var random = verbs[Math.floor(Math.random() * verbs.length)];
return random
}
console.log(Word4());
// function to create password one-line string
function passWord() {
//??
}
console.log(passWord());
Комментарии:
1.
let pwd = `${Word1()} ${Word2()} ${Word3()} ${Word4()}`
? Кстати, вы ничего не возвращаете изWord4
Более того, вы, вероятно, должны использовать результатWord1
inWord3
, чтобы ваше предложение использовало множественное число только в случае необходимости
Ответ №1:
Вызовите все свои функции в password
функции и объедините возвращаемые значения, например
function random(...array) {
return array[array.length * Math.random() | 0];
}
function word1() {
return Math.floor(Math.random() * 9 1);
}
function word2() {
return random('sad', 'happy', 'cheerful', 'angry', 'fear', 'surprise');
}
function word3() {
const plural = 's';
return random('computer', 'day', 'car', 'flower', 'house', 'cat') plural;
}
function word4() {
return random('running', 'walking', 'sleeping', 'talking', 'singing', 'sitting');
}
function password() {
return [word1(), word2(), word3(), word4()].join(' ');
}
console.log(password());
Комментарии:
1. Если вы всегда добавляете множественное
s
число , почему бы просто не добавить его к словам? Было бы лучше добавить множественное число только на основе результатаword1
Ответ №2:
Добавьте это в функцию пароля:
const part1 = word1()
const part2 = word2()
const part3 = word3()
const part4 = word4()
return part1 part2 part3 part4
Комментарии:
1. спасибо, это сработало и дало мне больше понимания того, что я могу сделать.
Ответ №3:
Попробуйте это *на основе вашего кода
function Word4() {
var verbs = ['running', 'walking', 'sleeping', 'talking', 'singing', 'sitting'];
return verbs[Math.floor(Math.random() * verbs.length)];
}
console.log(Word4());
// function to create password one-line string
function passWord() {
return `${Word1()} ${Word2()} ${Word3()} ${Word4()}`
}
Комментарии:
1. Это тоже сработало, я мало что делал с идентификаторами, так что это дало мне образование.
Ответ №4:
Попробуйте это
function Word4() {
var verbs = ['running', 'walking', 'sleeping', 'talking', 'singing', 'sitting'];
return verbs[4];
}
function passWord() {
return Word1() ' ' Word2() ' ' Word3() ' ' Word4();
}