Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.05.2014, 23:48
Новичок на форуме
Отправить личное сообщение для usa-1600 Посмотреть профиль Найти все сообщения от usa-1600
 
Регистрация: 16.05.2014
Сообщений: 9

Не выводится массив
Следую согласно коду из книги и не выводится чего-то массив на экран, почему пустота на экране?

Код:
<html>
	<head>
		<meta charset="utf-8"> 
		<title>Пример страницы</title>
	</head>
<body>
<h2><u>Инвентарный перечень товаров в магазине одежды</u></h2> 
<script type="text/javascript" language="JavaScript"> 
<!-- 
//Заполнение массива данными о количестве товара 
function populateArray(products) 
{ 
products["рубашки"]=46; 
products["брюки"]=23; 
products["шляпы"] =14; 
products["носки"]=153; 
} 
//Вывод на экран данных о запасов товаров 
function displayArray(products) 
document.write(products['рубашки'] 
document.write(products['брюки']," 
document.write(products['шляпы']," 
document.write(products['носки'], " 
" рубашек.<br>") 
брюк.<Ьг>"); 
шляп.<Ы>") ; 
пары носков."); 
//Создание массива, описывающего запасы товаров 
var productQty = new Array() ; 
//Определение запасов товара 
populateArray(productQty); 
//Отображения количества 
//товаров 
displayArray(productQty); 
</script>
</body> 
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 18.05.2014, 00:04
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

Сообщение от usa-1600
function displayArray
набор букв у вас
<html>
	<head>
		<meta charset="utf-8">
		<title>Пример страницы</title>
	</head>
<body>
<h2><u>Инвентарный перечень товаров в магазине одежды</u></h2>
<script>
<!--
//Заполнение массива данными о количестве товара
function populateArray(products)
{
products["рубашки"]=46;
products["брюки"]=23;
products["шляпы"] =14;
products["носки"]=153;
}
//Вывод на экран данных о запасов товаров
function displayArray(products){
   var html = '';
   for(var k in products) html+=k + "  " + products[k] + "<br />"
   return html
}

//Создание массива, описывающего запасы товаров
var productQty = new Array() ;
//Определение запасов товара
populateArray(productQty);
//Отображения количества
//товаров
document.write(displayArray(productQty));
</script>
</body>
</html>
Ответить с цитированием
  #3 (permalink)  
Старый 23.05.2014, 02:23
Новичок на форуме
Отправить личное сообщение для usa-1600 Посмотреть профиль Найти все сообщения от usa-1600
 
Регистрация: 16.05.2014
Сообщений: 9

Понял, вы использовали ассоциативный массив фор с перебором элементов, а простым массивом фор как перебрать?

Вариант с ассоциативным массивом срабатывает, вот например.

<html>
	<head>
		<meta charset="utf-8">
		<title>Пример страницы</title>
	</head>
<body>
<h2><u>Инвентарный перечень товаров в магазине одежды</u></h2>
<script>
<!--
//Заполнение массива данными о количестве товара
function input(p){
	p['Фирма']="Ласунка";
	p['Цвет'] = "Белый";
	p['Форма'] = "Круглая";
	p['Материал'] = "Железо";
	p['Цена'] = 155;
}
function value(mas){
var rez='';
	for(var d in mas) rez+=d+' ' + mas[d]+'<br>';
	return rez;
};

var masiv = new Array();
input(masiv);
document.write(value(masiv));

</script>
</body>
</html>


А вот с простым фором не хочет работать :-( Как с простым фором сделать?

<html>
	<head>
		<meta charset="utf-8">
		<title>Пример страницы</title>
	</head>
<body>
<h2><u>Инвентарный перечень товаров в магазине одежды</u></h2>
<script>
<!--
//Заполнение массива данными о количестве товара
function input(p){
	p['Фирма']="Ласунка";
	p['Цвет'] = "Белый";
	p['Форма'] = "Круглая";
	p['Материал'] = "Железо";
	p['Цена'] = 155;
}
function value(mas){
for(i=0; i<mas.length; i++) document.write(mas[i]);
};

var masiv = new Array();
input(masiv);
document.write(value(masiv));

</script>
</body>
</html>
Ответить с цитированием
  #4 (permalink)  
Старый 23.05.2014, 02:36
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

Сообщение от usa-1600
mas.length
а есть ли длина у вашего массива?
Сообщение от usa-1600
document.write(value(masiv));
распечатать распечатку

вам сюда http://learn.javascript.ru/
и лучше никогда неиспользовать document.write
Ответить с цитированием
  #5 (permalink)  
Старый 24.05.2014, 21:31
Новичок на форуме
Отправить личное сообщение для usa-1600 Посмотреть профиль Найти все сообщения от usa-1600
 
Регистрация: 16.05.2014
Сообщений: 9

а есть ли длина у вашего массива?

length - это свойство, которое должно определять длину.
Ответить с цитированием
  #6 (permalink)  
Старый 24.05.2014, 21:39
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

usa-1600,
length в вашем случае всегда 0
Ответить с цитированием
  #7 (permalink)  
Старый 24.05.2014, 21:45
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Цитата:
length - это свойство, которое должно определять длину.
Нет, length равно максимальному числовому индексу массива + 1.
Если этот твой треш написано действительно по учебнику, оставь его и больше никогда не открывай. Вот подробный и актуальный учебник - http://learn.javascript.ru/.

Последний раз редактировалось Erolast, 24.05.2014 в 21:52.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как в шаблоне диррективы узнать массив это или строка? delias Angular.js 1 18.03.2014 07:33
Отправить, когда четко соберется массив vas88811 Events/DOM/Window 11 26.02.2014 21:55
Массив объектов doox911 Библиотеки/Тулкиты/Фреймворки 6 16.01.2014 22:36
Как создать многомерный массив FRIE Общие вопросы Javascript 29 02.06.2010 19:14
Подскажите, как вернуть js-скрипт массив Polkan AJAX и COMET 18 30.04.2010 23:30