Я тестирую следующий код, который использует массив, переданный из моего скрипта node.js в файл .ejs. Кажется, у меня проблема с доступом к отдельным элементам массива в цикле. Кроме того, другие методы массива кажутся функциональными, например .length, кажется, возвращает правильное значение. Ошибка указывает на невозможность доступа к позиции индекса элемента массива. Сообщение об ошибке: «_count не определено» ... что я здесь не так делаю?
Мой node.js:
var test_up = [{pix: "Post 1", name: "Nica"}, {pix: "Post 2", name: "Danielle"}, {pix: "Post 3", name: "Maricar"}, {pix: "Post 4", name: "Peter"}, {pix: "Post 5", name: "Sampson"}, {pix: "Post 6", name: "Cleo"}];
res.render('index_bootx', {test_list: test_up});
Javascript в файле EJS с кодом, вызывающим проблему:
function initialize() {
var _count = 0;
var _limits = <%= test_list.length %>; //THIS SEEMS FUNCTIONAL...
var _tally = 0;
if (<%= test_list.length %> > 20) {_limits = 20;} //NO ERROR HERE...
for (_count = 0; _count < _limits; _count++) {
//**CREATE CONTENT HERE...
var _item = document.createElement("div");
_item.setAttribute("class", "lineups");
_item.setAttribute("id", "member_" + _count);
document.getElementById("row_" + _tally).appendChild(_item);
var _name = document.createElement("h2");
label = document.createTextNode(<% test_list[_count] %>); //PROBLEM HERE! '_count is not defined'
_name.appendChild(label);
lineups.appendChild(_name);
//**
} //for loop
}
Какой правильный синтаксис использовать для выбора элементов в переданных массивах в файл .ejs ...? Заранее благодарю.
Я изменил конец своей функции, добавив команду 'JSON.stringify', например:
var test = <%- JSON.stringify(test_list) %>;
document.getElementById("demo").innerHTML = test;
... но результат«demo» - это просто набор «объектов» ... однако правильное число:
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Почему я вижу здесь ссылки на «объекты», а не на реальные строки имен после того, как я применяю JSON.stringifyметод?