簡體   English   中英

將[Map,]中的[key,value]顯示到html表中

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM