Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помогите, пожалуйста! (https://javascript.ru/forum/misc/27141-pomogite-pozhalujjsta.html)

Agness 03.04.2012 23:49

Помогите, пожалуйста!
 
Помогите, пожалуйста!


Создайте Web-страницу, в которой с помощью метода prompt вводятся числа и запоминаются в массиве. Признаком окончания ввода массива является пустая строка. После этого вводятся нижняя и верхняя граница для значений элементов массива. Затем из массива удаляются элементы, значения которых меньше нижней границы или больше верхней границы. Получившийся массив выводится с помощью метода alert.




Попробовала, что-то сделать, но увы до конца не получилось, застряла...
<html>
 <head>
 <script>
 function displayArray(msg, a)
 {
 var arrayLength = a.length;
 var statement ="\nЭлементы массива:";
 for (var i=0; i< arrayLength; i++)
 statement += "\n Элемент " + i + '="' + a[i] + '".';
 alert (statement);
 var board1= prompt("Введите верхнюю границу:","");

 for(var i=0;;i++)
 {
 if (a[i] > board1)
 delete a[i];

 alert(a[i]);
 }
 } 
 </script>
 </head>
 <body>
 <script>
 myArray = new Array();
 for (var i = 0;;i++)
 {
 var n = prompt ("Введите " + (i + 1) + "-й элемент массива\n" +
 "или пустую строку (для окончания ввода):", "");
 if (n == "")
 break;
 myArray[i] = n;
 }

 displayArray ("Инициализация массива", myArray);
 </script>
 </body>
 </html>

Pavel M. 04.04.2012 12:58

наполнение массива числами, по-моему, лучше сделать как-то так
с проверкой, что это число

var myArray = [], // пустой массив
     n;
 
 while (n = prompt("Введите " + (myArray.length + 1) + "-й элемент массива\nили пустую строку (для окончания ввода):", "")) {
   
   if (isNaN(n) || !isFinite(n)) { // проверяем на число
     
     alert(n + ' - не число');
     
   } else {
     
     n = +n; // преобразовываем строку в число
     myArray.push(n); // добавляем в массив
     
   }
   
 }
 
 alert(myArray);

GuardCat 04.04.2012 19:15

var a = [ ], item;

function filterArray(arr, min, max) {
	for(var x = arr.length; x >= 0; x--) {
		if(arr[x] > max || arr[x]  < min) {
			arr.splice(x, 1);
		}
	}
}

while(item = prompt("Введите элемент массива (отмена или пустая строка для окончания наполнения")) {
	item = +item;
	if(!isNaN(item)) {
		a.push(item);
	}
}

filterArray(a, +prompt("Минимальный элемент массива"), +prompt("Максимальный элемент массива"));
alert(a);


Часовой пояс GMT +3, время: 03:30.