Не выводится массив
Следую согласно коду из книги и не выводится чего-то массив на экран, почему пустота на экране?
Код:
<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, время: 23:55. |