Не выводится массив
Следую согласно коду из книги и не выводится чего-то массив на экран, почему пустота на экране?
Код:
<html> |
Цитата:
<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>
|
Понял, вы использовали ассоциативный массив фор с перебором элементов, а простым массивом фор как перебрать?
Вариант с ассоциативным массивом срабатывает, вот например.
<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>
|
Цитата:
Цитата:
вам сюда http://learn.javascript.ru/ и лучше никогда неиспользовать document.write |
а есть ли длина у вашего массива? length - это свойство, которое должно определять длину. |
usa-1600,
length в вашем случае всегда 0 |
Цитата:
Если этот твой треш написано действительно по учебнику, оставь его и больше никогда не открывай. Вот подробный и актуальный учебник - http://learn.javascript.ru/. |
| Часовой пояс GMT +3, время: 19:18. |