Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.09.2017, 17:13
Новичок на форуме
Отправить личное сообщение для ekzecute Посмотреть профиль Найти все сообщения от ekzecute
 
Регистрация: 11.09.2017
Сообщений: 4

Получение описания букв из случайно-сгенерированной строки
Добрый день!

Ребят, честно говоря, я не знаю, есть ли метод в JS, который поможет в данном случае, но нагуглить не смог, поэтому пишу сюда.

Есть некий генератор, который выдает 3 случайные буквы на латинице, по нажатии на гиперссылку(например: DGU, NUQ, KOI и т.п.) - это работает ок.

После того, как сгенерировалось это случайное сочетание букв, необходимо в другом поле выводить расшифровку каждой из трех букв.

Например: Сгенерировалось "FGH", а в соседнем поле сразу же подтянулась строка "F - Fruit, G - Global, H - High"

За любую помощь буду очень благодарен!
Ответить с цитированием
  #2 (permalink)  
Старый 11.09.2017, 17:23
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Откуда брать расшифровку?
Ответить с цитированием
  #3 (permalink)  
Старый 11.09.2017, 17:26
Новичок на форуме
Отправить личное сообщение для ekzecute Посмотреть профиль Найти все сообщения от ekzecute
 
Регистрация: 11.09.2017
Сообщений: 4

Расшифровка будет забита через var, как переменные, например: var H = "High"
Ответить с цитированием
  #4 (permalink)  
Старый 11.09.2017, 17:28
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

j0hnik,
ABC
Ответить с цитированием
  #5 (permalink)  
Старый 11.09.2017, 17:31
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 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('; '));
Ответить с цитированием
  #6 (permalink)  
Старый 11.09.2017, 17:35
Новичок на форуме
Отправить личное сообщение для ekzecute Посмотреть профиль Найти все сообщения от ekzecute
 
Регистрация: 11.09.2017
Сообщений: 4

Nexus, спасибо большое!
Ответить с цитированием
  #7 (permalink)  
Старый 11.09.2017, 17:36
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 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. Причина: НЕМНОГО оптимизировал
Ответить с цитированием
  #8 (permalink)  
Старый 11.09.2017, 17:38
Новичок на форуме
Отправить личное сообщение для ekzecute Посмотреть профиль Найти все сообщения от ekzecute
 
Регистрация: 11.09.2017
Сообщений: 4

j0hnik,
это то, что нужно, спасибо!!
Ответить с цитированием
  #9 (permalink)  
Старый 12.09.2017, 00:03
Аспирант
Отправить личное сообщение для vitek-82 Посмотреть профиль Найти все сообщения от vitek-82
 
Регистрация: 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.
Ответить с цитированием
  #10 (permalink)  
Старый 12.09.2017, 01:32
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

vitek-82,
charAt метод специально для строки, извлечь символ согласно указанной позиции, и было время, что извлечь по индексу из строки было нельзя, в некоторых браузерах, поэтому часто делали так str.split("")[0], но наверно лучше, если у строки есть свой метод, то использовать его, сейчас можно и так и так, что быстрее и 100% сработает, надо смотреть.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получение данных из строки таблицы idShura AJAX и COMET 3 30.05.2014 16:39
Получение данных из адресной строки Trusteg Events/DOM/Window 4 19.11.2013 13:48
Получение частей строки, заключенных между двумя подстроками Tie Общие вопросы Javascript 15 07.04.2013 08:24
Получение данных строки грида при нажатии сторонней кнопки Allan Stark ExtJS 4 17.11.2011 19:21
[JavaScript] получение данных из адресной строки после знака # GiveMeABreak AJAX и COMET 2 16.09.2009 00:36