Странный NodeJS с загадкой Express и EJS
У меня есть немного JSON, я перехожу к частичному представлению.
{
"0": {
"storename": "Park plaza",
"prediction": "Retail Sites",
"probability": 0.851005
},
"1": {
"storename": "Emory Mills",
"prediction": "Retail Sites",
"probability": 0.851005744010425
},
"2": {
"storename": "Potamac Heights",
"prediction": "Retail Sites",
"probability": 0.851005744010425
}
}
И вот код для цикла.
<% for(var i=0; i < tabledata.length; i++) { %>
<tr>
<td><%= tabledata[i].storename %></td>
<td><%= tabledata[i].prediction %></td>
</tr>
<% } %>
Мне любопытно, почему это не работает, но без цикла это работает.
<tr>
<td><%- tabledata["0"].storename %></td>
<td><%- tabledata["0"].prediction %></td>
</tr>
<tr>
<td><%- tabledata["1"].storename %></td>
<td><%- tabledata["1"].prediction %></td>
</tr>
<tr>
<td><%- tabledata["2"].storename %></td>
<td><%- tabledata["3"].prediction %></td>
</tr>
Я понял, что даже без цикла мне нужны числа в виде строк. Тем не менее, даже когда я помещаю i.toString() в цикл, он говорит, что есть ошибка типа. Я также пытался вставить в кавычки "", а также одиночные кавычки ", но это также не сработало.
Кроме того, я вижу ошибки синтаксиса, неожиданный токен ILLEGAL в моем частичном представлении.
Какие-нибудь мысли?
1 ответ
В вашем цикле i
это целое число, в другом это строка.
Изменить цикл так, чтобы он был сильным, и он работал (оберните его в одинарные кавычки)