[英]Display [key, value] from `Map` onto html table
我有一個空的JS Map
對象(稱為dct),我想對其進行迭代並將關鍵值顯示在html table
。 手動添加項目以檢查顯示是否正常時,將從另一頁填充Map
我已經嘗試過dct.forEach(...)
或for (var [key, value] of dct.entries())
dct.forEach(...)
for (var [key, value] of dct.entries())
但錯誤是dct.forEach is not a function
我認為問題不在於方式我迭代了Map
,但是也許以我創建或使用它的方式。
routes.js
var express = require("express");
var session = require("cookie-session");
var bodyparser = require("body-parser");
var urlEncoderParser = bodyparser.urlencoded({extended: false});
var app = express();
app.use(session({secret: "secret"}))
.use(function(req, res, next) {
if (typeof(req.session.dct) == "undefined") {
req.session.dct = new Map();
req.session.dct.set(0, "z");
req.session.dct.set(1, "o");
}
next();
})
.get("/home/", function(req, res) {
res.render("home.ejs", {dct: req.session.dct});
})
.listen(8080);
home.ejs
<!DOCTYPE html>
<html>
<head>
<title>Home page</title>
</head>
<body>
<h1>My items</h1>
<table style="width:100%">
<tr>
<th>Item number</th>
<th>Item value</th>
<th>Delete</th>
</tr>
<tr>
<% dct.forEach(function(value, key) { %>
<td> <%= value %> </td>
<td> <%= key %> </td>
<td>Delete</td>
<% }); %>
</tr>
</table>
</body>
</html>
html表應填充兩行,各列如下:
| z | 0 | Delete |
| o | 1 | Delete |
謝謝
var map1 = new Map();
map1.set('0', 'foo');
map1.set(1, 'bar');
var iterator1 = map1.entries();
console.log(iterator1.next().value);
// expected output: ["0", "foo"]
console.log(iterator1.next().value);
// expected output: [1, "bar"]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.