Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 22.05.2019, 16:18
Интересующийся
Отправить личное сообщение для ProgYoung Посмотреть профиль Найти все сообщения от ProgYoung
 
Регистрация: 08.05.2019
Сообщений: 25

Dilettante_Pro,
аааа, спасибо большое! Все работает, как надо)
Ответить с цитированием
  #12 (permalink)  
Старый 22.05.2019, 17:16
Интересующийся
Отправить личное сообщение для ProgYoung Посмотреть профиль Найти все сообщения от ProgYoung
 
Регистрация: 08.05.2019
Сообщений: 25

Dilettante_Pro, рони, Malleys,
возник еще вопрос...
Как теперь мне считать эти данные с текстовых полей в библиотеку, например, чтобы получилось так:

var hand = [
      { "rank":"семерка", "suit":"пик" },
      { "rank":"четверка", "suit":"червей" },
      { "rank":"двойка", "suit":"треф" },
      { "rank":"семерка", "suit":"пик" },
      { "rank":"восьмерка", "suit":"бубен" }
   ];

Так, как делаю я, не получается:
var hand = [];
   var all1 = String(document.getElementById("random1").value);
   var all2 = String(document.getElementById("random2").value);
   var all3 = String(document.getElementById("random3").value);
   var all4 = String(document.getElementById("random4").value);
   var all5 = String(document.getElementById("random5").value);
   var als1 = all1.split(" ");
   var als2 = all2.split(" ");
   var als3 = all3.split(" ");
   var als4 = all4.split(" ");
   var als5 = all5.split(" "); 

   hand[0].suit=als1[1];
   hand[0].rank=als1[0];
   hand[1].suit=als2[1];
   hand[1].rank=als2[0];
   hand[2].suit=als3[1];
   hand[2].rank=als3[0];
   hand[3].suit=als4[1];
   hand[3].rank=als4[0];
   hand[4].suit=als5[1];
   hand[4].rank=als5[0];
alert(hand);
Ответить с цитированием
  #13 (permalink)  
Старый 22.05.2019, 17:19
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,852

ProgYoung,
Проще сразу запоминать при генерации значений
Ответить с цитированием
  #14 (permalink)  
Старый 22.05.2019, 17:46
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 946

ProgYoung, может всё-таки использовать циклы и массивы? Вы же не хотите повторении! Например последний ваш код может выводить hand так...
var hand = [];

for(var i = 0; i < 5; i++) {
	var all = String(document.getElementById("random" + (i + 1)).value);
	var als = all.split(" ");
	hand[i].suit = als[1];
	hand[i].rank = als[0];
}

alert(hand);
Ответить с цитированием
  #15 (permalink)  
Старый 22.05.2019, 17:54
Интересующийся
Отправить личное сообщение для ProgYoung Посмотреть профиль Найти все сообщения от ProgYoung
 
Регистрация: 08.05.2019
Сообщений: 25

Malleys,
не работает почему-то
я сделал так:

<p><input type="button" value="Кликни!" onclick="func2()"></p>
<script type="text/javascript">
function func2(){
   var hand = [];
   for(var i = 0; i < 5; i++) {
      var all = String(document.getElementById("random" + (i + 1)).value);
      var als = all.split(" ");
      hand[i].suit = als[1];
      hand[i].rank = als[0];
   }
   document.getElementById('solve').value = hand;
}

Последний раз редактировалось ProgYoung, 22.05.2019 в 18:07.
Ответить с цитированием
  #16 (permalink)  
Старый 22.05.2019, 17:59
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 946

Сообщение от ProgYoung
не работает почему-то
Да я просто показал идею, как работать с циклами на основе вашего неработающего кода выше!

Сообщение от ProgYoung
        if (confirm("Продолжить?")) break;
        else break;
А какой смысл спрашивать, если оно всё-равно break?

Вот исправил и трансформировал ваш код из поста №9...
<input type="button" value="Кликни!" onclick="func1();">
<p><input type="text" id="random1" readonly></p>
<p><input type="text" id="random2" readonly></p>
<p><input type="text" id="random3" readonly></p>
<p><input type="text" id="random4" readonly></p>
<p><input type="text" id="random5" readonly></p>

<script>
	// это все возможные номиналы
	var ranks = ["двойка", "тройка", "четверка", "пятерка", "шестерка",
		"семерка", "восьмерка", "девятка", "десятка", "валет", "дама", "король", "туз"
	];
	var suits = ["пик", "червей", "треф", "бубен"];

	function func() {
		var RANKS = ranks[Math.floor(Math.random() * ranks.length)];
		var SUITS = suits[Math.floor(Math.random() * suits.length)];
		return RANKS + " " + SUITS;
	}

	function func1() {
		for (var i = 1; i <= 5; i++) {
			document.getElementById("random" + i).value = func();
		}
	}

</script>
То?

Сообщение от ProgYoung
Как теперь мне считать эти данные с текстовых полей в библиотеку, например, чтобы получилось так:
Так может сразу писать и в поля и в DOM? Вот объединённый пример...
<input type="button" value="Кликни!" onclick="func1();">
<p><input type="text" id="random1" readonly></p>
<p><input type="text" id="random2" readonly></p>
<p><input type="text" id="random3" readonly></p>
<p><input type="text" id="random4" readonly></p>
<p><input type="text" id="random5" readonly></p>
<p id="solve"></p>

<script>
	// это все возможные номиналы
	var ranks = ["двойка", "тройка", "четверка", "пятерка", "шестерка",
		"семерка", "восьмерка", "девятка", "десятка", "валет", "дама", "король", "туз"
	];
	var suits = ["пик", "червей", "треф", "бубен"];

	function func() {
		return {
			rank: ranks[Math.floor(Math.random() * ranks.length)],
			suit: suits[Math.floor(Math.random() * suits.length)]
		};
	}
	
	var hand = [];

	function func1() {
		for (var i = 0; i < 5; i++) {
			var card = func();
			hand[i] = card;
			document.getElementById("random" + (i + 1)).value = card.rank + " " + card.suit;
		}

		document.getElementById("solve").textContent = hand.map(function(card) { return card.rank + " " + card.suit; }).join(", ");
	}

</script>

Последний раз редактировалось Malleys, 22.05.2019 в 18:26.
Ответить с цитированием
  #17 (permalink)  
Старый 22.05.2019, 18:13
Интересующийся
Отправить личное сообщение для ProgYoung Посмотреть профиль Найти все сообщения от ProgYoung
 
Регистрация: 08.05.2019
Сообщений: 25

Malleys,
Т.к. в задании сказано использовать конструкцию try, catch,finally, то пришлось хоть что-то добавить в finally, но сейчас там return, поэтому удалил.
Ответить с цитированием
  #18 (permalink)  
Старый 22.05.2019, 18:15
Интересующийся
Отправить личное сообщение для ProgYoung Посмотреть профиль Найти все сообщения от ProgYoung
 
Регистрация: 08.05.2019
Сообщений: 25

Сейчас бы разобраться как в библиотеку это все добавить
Ответить с цитированием
  #19 (permalink)  
Старый 22.05.2019, 18:20
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 946

Сообщение от ProgYoung
Сейчас бы разобраться как в библиотеку это все добавить
Я уже ответил на этот вопрос, посмотрите последнюю часть поста №16.
Ответить с цитированием
  #20 (permalink)  
Старый 22.05.2019, 19:37
Интересующийся
Отправить личное сообщение для ProgYoung Посмотреть профиль Найти все сообщения от ProgYoung
 
Регистрация: 08.05.2019
Сообщений: 25

Malleys,
спасибо большое!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Введое в текстовое поле значение отображается в виде списка чекбоксов rfhnjirf Общие вопросы Javascript 9 17.05.2017 12:21
Вывод текста в текстовое поле textarea, путём кнопок radio rashid86 Элементы интерфейса 0 24.05.2016 04:57
Вывод результата в текстовом поле Remca Общие вопросы Javascript 0 02.05.2016 18:22
вывести значение кнопки в текстовое поле matt_xs Общие вопросы Javascript 10 16.04.2016 14:50
Активировать текстовое поле если стоит галочка (запара с именами) Гробовщик Events/DOM/Window 9 14.06.2013 09:39