11.09.2017, 17:13
|
Новичок на форуме
|
|
Регистрация: 11.09.2017
Сообщений: 4
|
|
Получение описания букв из случайно-сгенерированной строки
Добрый день!
Ребят, честно говоря, я не знаю, есть ли метод в JS, который поможет в данном случае, но нагуглить не смог, поэтому пишу сюда.
Есть некий генератор, который выдает 3 случайные буквы на латинице, по нажатии на гиперссылку(например: DGU, NUQ, KOI и т.п.) - это работает ок.
После того, как сгенерировалось это случайное сочетание букв, необходимо в другом поле выводить расшифровку каждой из трех букв.
Например: Сгенерировалось "FGH", а в соседнем поле сразу же подтянулась строка "F - Fruit, G - Global, H - High"
За любую помощь буду очень благодарен!
|
|
11.09.2017, 17:23
|
|
Профессор
|
|
Регистрация: 01.12.2016
Сообщений: 3,650
|
|
Откуда брать расшифровку?
|
|
11.09.2017, 17:26
|
Новичок на форуме
|
|
Регистрация: 11.09.2017
Сообщений: 4
|
|
Расшифровка будет забита через var, как переменные, например: var H = "High"
|
|
11.09.2017, 17:28
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
|
|
11.09.2017, 17:31
|
Профессор
|
|
Регистрация: 04.12.2012
Сообщений: 3,791
|
|
ekzecute,
var F='First',
S='Second',
T='Third';
alert('FST'.split('').map(function(char){
return !!window[char=char.toUpperCase()]?window[char]:null;
}).join('; '));
|
|
11.09.2017, 17:35
|
Новичок на форуме
|
|
Регистрация: 11.09.2017
Сообщений: 4
|
|
Nexus, спасибо большое!
|
|
11.09.2017, 17:36
|
|
Профессор
|
|
Регистрация: 01.12.2016
Сообщений: 3,650
|
|
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<div></div>
<div></div>
<script>
var word='', letter='', i = 3, arr = ['Apple', 'Body', 'Can','Different', 'Fruit', 'Globe', 'Happy', 'Ice-cream', 'Joy', 'Kite','Lemon', 'Monkey', 'Nine', 'October', 'Push', 'Quit', 'Rabbit', 'School', 'Table', 'Uncle', 'Verbs', 'World', 'Xylophone', 'Year', 'Zebra'];
while(i--) {
var a = arr[Math.floor(Math.random() * arr.length)], b = a.charAt(0);
letter+= b;
word+= b+'-'+a+', ';
}
var div = document.querySelectorAll('div');
div[0].textContent = letter;
div[1].textContent = word;
</script>
</body>
</html>
Последний раз редактировалось j0hnik, 11.09.2017 в 17:50.
Причина: НЕМНОГО оптимизировал
|
|
11.09.2017, 17:38
|
Новичок на форуме
|
|
Регистрация: 11.09.2017
Сообщений: 4
|
|
j0hnik,
это то, что нужно, спасибо!!
|
|
12.09.2017, 00:03
|
Аспирант
|
|
Регистрация: 18.03.2017
Сообщений: 30
|
|
j0hnik, у меня вопрос один, маленький. В строке 3 есть код b = a.charAt(0), я использовал следующий b = a[0], результат тот же, может вы сможете объяснить почему использовали именно charAt()? Спасибо.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<div></div>
<div></div>
<script>
var word='', letter='', i = 3, arr = ['Apple', 'Body', 'Can','Different', 'Fruit', 'Globe', 'Happy', 'Ice-cream', 'Joy', 'Kite','Lemon', 'Monkey', 'Nine', 'October', 'Push', 'Quit', 'Rabbit', 'School', 'Table', 'Uncle', 'Verbs', 'World', 'Xylophone', 'Year', 'Zebra'];
while(i--) {
var a = arr[Math.floor(Math.random() * arr.length)], b = a[0];
letter+= b;
word+= b+'-'+a+', ';
}
var div = document.querySelectorAll('div');
div[0].textContent = letter;
div[1].textContent = word;
</script>
</body>
</html>
Последний раз редактировалось vitek-82, 12.09.2017 в 00:06.
|
|
12.09.2017, 01:32
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
vitek-82,
charAt метод специально для строки, извлечь символ согласно указанной позиции, и было время, что извлечь по индексу из строки было нельзя, в некоторых браузерах, поэтому часто делали так str.split("")[0], но наверно лучше, если у строки есть свой метод, то использовать его, сейчас можно и так и так, что быстрее и 100% сработает, надо смотреть.
|
|
|
|