NooBiToo
@NooBiToo

Где ошибка в коде?

Вот это не работает:

<!DOCTYPE html>
<html>
<head>
<title>RND</title>
<META http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<textarea id="input" cols="35" rows="3">12 31 23 123 </textarea>
<br>
<div id="output">
Вывод:
</div>
<br>
<button type="button" onclick="fnct()">Генерировать</button>
<script type="text/javascript">
	function fnct() {
	var fruits = document.getElementById("input").value;
	for(var i=0; i<fruits.length; i++) {
	var tmp = fruits[i];
	var j = Math.floor(Math.random() * fruits.length);
	fruits[i]=fruits[j];
	fruits[j] = tmp;
	document.getElementById("output").innerHTML = fruits;}}
</script> 
</body>
</html>

А это работает, но тут массив уже заполнен, в первом коде я беру значения из textarea, заполняю массив, но всё равно не рандомит:

<!DOCTYPE html>
<html>
<head>
<title>rnd</title>
<META http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<textarea id="input" cols="35" rows="3"></textarea>
<br>
<div id="output">
Вывод:
</div>
<br>
<button type="button" onclick="fnct ()">Генерировать</button>
<script type="text/javascript">
	var fruits = ["1mango", "2persik", "3банан", "4груша", "5grace", "6555","7seven"];
	function fnct() {
	for(var i=0; i<fruits.length; i++) {
	var tmp = fruits[i];
	var j = Math.floor(Math.random() * fruits.length);
	fruits[i]=fruits[j];
	fruits[j] = tmp;}
	document.getElementById("output").innerHTML = fruits;}
</script>
</body>
</html>
  • Вопрос задан
  • 201 просмотр
Решения вопроса 2
DevMan
@DevMan
строка:
var fruits = document.getElementById("input").value;

массив:
var fruits = document.getElementById("input").value;
fruits = fruits.split(' ');


PS разделитель в split подправить под свои нужды.
Ответ написан
Комментировать
DeLaVega
@DeLaVega
Верстаю, фронтэндю =)
Простите, а чего вы ожидали? У вас value у textarea - строка(12 31 23 123). И эта строка не имеет ничего общего с понятием - массив.

А вот так работает =)
codepen.io/vitaliy_kirenkov/pen/EjgQmw
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
DeadCowsDontMoo
@DeadCowsDontMoo
web
Только хотел написать что-то вроде "а где тут собственно массив?" но меня опередили...)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 22:26
3500 руб./за проект
22 нояб. 2024, в 21:47
3000 руб./за проект
22 нояб. 2024, в 21:44
50000 руб./за проект