Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.09.2015, 14:20
Аватар для karakym
Профессор
Отправить личное сообщение для karakym Посмотреть профиль Найти все сообщения от karakym
 
Регистрация: 21.02.2010
Сообщений: 213

Генератор строк из столбцов
Доброго времени суток, нужно сделать генератор строк, есть 3 поля (textarea) в каждом построчно написаны слова.
Так вот нужно сгенерировать все возможные комбинации этих слов, учитывая только очередь.
например:
в поле 1 написано: Коля, Вася, Витя
в поле 2 написано: Ушел, Пришел, Не было
в поле 3 написано: Домой, На работу, В отпуск
-----------Результат------------------
Коля Ушел Домой
Коля Пришел Домой
Коля Не было Домой
Коля Ушел На работу
Коля Пришел На работу
Коля Не было В отпуск
и так далее....
Вот не могу только понять как его реализовать?
Поделитесь небольшим примером!
Ответить с цитированием
  #2 (permalink)  
Старый 29.09.2015, 14:22
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,214

Сообщение от karakym
Вот не могу только понять как его реализовать?
Берешь строку...
Превращаешь ее в массив...
Случайно выбираешь элемент...
Вот из трех таких случайных элементов собираешь строку.
Ответить с цитированием
  #3 (permalink)  
Старый 29.09.2015, 14:25
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от ksa
Случайно выбираешь элемент...
Ответить с цитированием
  #4 (permalink)  
Старый 29.09.2015, 14:25
Аватар для karakym
Профессор
Отправить личное сообщение для karakym Посмотреть профиль Найти все сообщения от karakym
 
Регистрация: 21.02.2010
Сообщений: 213

Сообщение от ksa Посмотреть сообщение
Берешь строку...
Превращаешь ее в массив...
Случайно выбираешь элемент...
Вот из трех таких случайных элементов собираешь строку.
Я понимаю, что таких наглецов-новичков на форуме хватает, но не могли бы вы сделать небольшой пример в коде.
Ответить с цитированием
  #5 (permalink)  
Старый 29.09.2015, 14:33
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,214

Сообщение от karakym
не могли бы вы сделать небольшой пример в коде
Нечто такое...

var name='Коля,Вася,Витя';
var action='Ушел,Пришел,Не было';
var target='Домой,На работу,В отпуск'
var str='';
str+=get(name);
str+=' '+get(action);
str+=' '+get(target);
alert(str);
function get(Str){
	var a=Str.split(',');
	var i=Math.floor(a.length*Math.random());
	return a[i];
};
Ответить с цитированием
  #6 (permalink)  
Старый 29.09.2015, 14:36
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,214

Сообщение от karakym
нужно сгенерировать все возможные комбинации этих слов, учитывая только очередь
Оказывается все нужны...
Тогда из строк делаем массивы... Те массивы в массив... И тремя циклами все это хозяйство выводим!
Ответить с цитированием
  #7 (permalink)  
Старый 29.09.2015, 14:42
Аватар для karakym
Профессор
Отправить личное сообщение для karakym Посмотреть профиль Найти все сообщения от karakym
 
Регистрация: 21.02.2010
Сообщений: 213

Такой вот код вышел, но чет не пойму не работает.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Генератор</title>
</head>
<style>textarea{height:300px;padding:0;margin:0;width:100px;}.generate{width:308px;text-align:center;}.result{background:rgba(155,0,155,0.5)}</style>
<script type="javascript">
$('.generate').click(
    function generate(){
var name='Коля,Вася,Витя';
var action='Ушел,Пришел,Не было';
var target='Домой,На работу,В отпуск'
var str='';
str+=get(name);
str+=' '+get(action);
str+=' '+get(target);
alert(str);
function get(Str){
	var a=Str.split(',');
	var i=Math.floor(a.length*Math.random());
	return a[i];
};
})
</script>
<body>
<textarea class="gruz">
Коля
Вася
Витя
</textarea>
<textarea class="gorod">
Ушел
Пришел
Не было
</textarea>
<textarea class="avto">
Домой
На работу
В отпуск
</textarea><br/>
<input type="button" class="generate" value="СГЕНЕРИРОВАТЬ"/>
<div class="result"></div>
</body></html>
Ответить с цитированием
  #8 (permalink)  
Старый 29.09.2015, 14:47
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

karakym,
Сообщение от ksa
Тогда из строк делаем массивы... И тремя циклами все это хозяйство выводим!
Ответить с цитированием
  #9 (permalink)  
Старый 29.09.2015, 14:54
Аватар для karakym
Профессор
Отправить личное сообщение для karakym Посмотреть профиль Найти все сообщения от karakym
 
Регистрация: 21.02.2010
Сообщений: 213

Что не так сделал? Не работает!
var gruz = document.querySelector('.gruz'),
gorod = document.querySelector('.gorod'),
avto = document.querySelector('.avto'),
button   = document.querySelector('.generate');

button.onclick = function ()
	{
  var str = '';
str+=get(gruz);
str+=' '+get(gorod);
str+=' '+get(avto);
alert(str);
	var myList = str.split('\n');
	
	for (var i = 0, ln = myList.length; i < ln; ++i)
		alert(myList[i]);
	}
Ответить с цитированием
  #10 (permalink)  
Старый 29.09.2015, 14:55
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,214

Сообщение от karakym
Не работает!
Что-то такое...

<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<!--
<script src='http://code.jquery.com/jquery-latest.js'></script>
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
function test(){
	var arr=[
		document.getElementById('gruz').value.split(/\n/),
		document.getElementById('gorod').value.split(/\n/),
		document.getElementById('avto').value.split(/\n/)
	];
	var or=document.getElementById('result');
	for (var i=0; i<arr[0].length; i++) {
		for (var j=0; j<arr[1].length; j++) {
			for (var k=0; k<arr[2].length; k++) {
				var str=arr[0][i]+' '+arr[1][j]+' '+arr[2][k];
				or.innerHTML=or.innerHTML+str+'<br />';
			};
		};
	};
};
</script>
</head>
<body>
<textarea id="gruz">
Коля
Вася
Витя</textarea>
<textarea id="gorod">
Ушел
Пришел
Не было</textarea>
<textarea id="avto">
Домой
На работу
В отпуск</textarea>
<br/>
<input type="button" onclick='test();' class="generate" value="СГЕНЕРИРОВАТЬ"/>
<div id="result"></div>
</body>
</html>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
CSS генератор на JavaScript _0_ Ваши сайты и скрипты 8 24.03.2018 11:54
Добавление строк в таблицу и скрытие таблицы. III Общие вопросы Javascript 39 20.11.2015 10:05
Плагин галереи с фиксированным количеством строк и столбцов. Dryn9 Элементы интерфейса 0 07.03.2015 16:34
Подсветка строк и столбцов таблицы html sashgera Элементы интерфейса 8 20.12.2014 20:47
Динамическое удаление строк таблицы Tankist Events/DOM/Window 16 03.07.2013 16:42