Javascript 中用于键值对的 forEach() 方法

发布于 2025-01-12 23:46:04 字数 531 浏览 3 评论 0原文

如何仅打印显示屏中的值?

let room1 = new Map();
room1.set("candles", 8)
room1.set("fridge", 1)
room1.set("washing machine", 3)
room1.set("chairs", 4)
room1.set("sofa", 2)
room1.set("jacuzzi", 6)

let text4 = "";
room1.forEach(function(key) {
  text4 += key + "<br>"
});

document.getElementById("demo8").innerHTML = text4;
<p id="demo8"></p>

How to print only the value(s) in the display?

let room1 = new Map();
room1.set("candles", 8)
room1.set("fridge", 1)
room1.set("washing machine", 3)
room1.set("chairs", 4)
room1.set("sofa", 2)
room1.set("jacuzzi", 6)

let text4 = "";
room1.forEach(function(key) {
  text4 += key + "<br>"
});

document.getElementById("demo8").innerHTML = text4;
<p id="demo8"></p>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

青萝楚歌 2025-01-19 23:46:04

现在是 2022 年。忘记 forEach 并使用 针对...的。它在迭代 Map 时获取键值对:

let room1 = new Map();
room1.set("candles", 8)
room1.set("fridge", 1)
room1.set("washing machine", 3)
room1.set("chairs", 4)
room1.set("sofa", 2)
room1.set("jacuzzi", 6)

let text4 = "";
for(let [key,value] of room1) {
  text4 += `${key} - ${value}<br>`; // this could be key+" - "+value+"<br>" of course
};

document.getElementById("demo8").innerHTML = text4;
<p id="demo8"></p>

It's 2022. Forget forEach and use for...of. It gets key-value pairs when iterating over a Map:

let room1 = new Map();
room1.set("candles", 8)
room1.set("fridge", 1)
room1.set("washing machine", 3)
room1.set("chairs", 4)
room1.set("sofa", 2)
room1.set("jacuzzi", 6)

let text4 = "";
for(let [key,value] of room1) {
  text4 += `${key} - ${value}<br>`; // this could be key+" - "+value+"<br>" of course
};

document.getElementById("demo8").innerHTML = text4;
<p id="demo8"></p>

雨落星ぅ辰 2025-01-19 23:46:04

有一些解决方案,请遵循四种可能性...

1) 对于 更好的性能 使用 for...of 代替 forEach:

for(let [key] of room1) {
    text4 += key + "<br>";
};

2) 短代码(扩展语法)到获取 Mapkeys 并转换为 Array

[...room1.keys()].forEach(function(key) {
    text4 += key + "<br>"
});

3) 与第一个解决方案相同,但使用 Array.from(...) 显式:

Array.from(room1.keys()).forEach(function(key) {
    text4 += key + "<br>"
});

4) 将第一个参数 value 添加到 forEach 函数:

room1.forEach(function(value, key) {
    text4 += key + "<br>"
});

示例:

let room1 = new Map();
room1.set("candles", 8)
room1.set("fridge", 1)
room1.set("washing machine", 3)
room1.set("chairs", 4)
room1.set("sofa", 2)
room1.set("jacuzzi", 6)

let display = document.getElementById("demo8");
for (let [key] of room1) {
  display.innerHTML += key + "<br>";
};
<p id="demo8"></p>

参考:

There're some solutions, follow four possibilities...

1) For a better performance use for...of instead forEach:

for(let [key] of room1) {
    text4 += key + "<br>";
};

2) Short code (spread syntax) to get the keys of your Map and convert to Array:

[...room1.keys()].forEach(function(key) {
    text4 += key + "<br>"
});

3) The same of first solution but with Array.from(...) explicit:

Array.from(room1.keys()).forEach(function(key) {
    text4 += key + "<br>"
});

4) Add the first parameter value to forEach function:

room1.forEach(function(value, key) {
    text4 += key + "<br>"
});

Example:

let room1 = new Map();
room1.set("candles", 8)
room1.set("fridge", 1)
room1.set("washing machine", 3)
room1.set("chairs", 4)
room1.set("sofa", 2)
room1.set("jacuzzi", 6)

let display = document.getElementById("demo8");
for (let [key] of room1) {
  display.innerHTML += key + "<br>";
};
<p id="demo8"></p>

Reference:

百思不得你姐 2025-01-19 23:46:04

您只能直接获得钥匙。

let rooms = new Map();
rooms.set("candles", 8)
rooms.set("fridge", 1)
rooms.set("washing machine", 3)
rooms.set("chairs", 4)
rooms.set("sofa", 2)
rooms.set("jacuzzi", 6)

console.log([...rooms.keys()]);

You could get only the keys directly.

let rooms = new Map();
rooms.set("candles", 8)
rooms.set("fridge", 1)
rooms.set("washing machine", 3)
rooms.set("chairs", 4)
rooms.set("sofa", 2)
rooms.set("jacuzzi", 6)

console.log([...rooms.keys()]);

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文