gpt4 book ai didi

javascript - 如何在javascript中找到 map 的大小

转载 作者:行者123 更新时间:2023-12-03 06:52:39 26 4
gpt4 key购买 nike

我想用javascript打印 map 的大小。我使用命令 map.size但答案是 0,这是不正确的。

这是我的源代码:

<div id="demo" ></div>
<script>
function add(test, key, value) {
if (!test[key])
test[key] = [value];
else
test[key].push(value);
}
var mapp = new Map();
var i,j,k=0;
for (i=0;i<5;i++)
{
for (j=0;j<i;j++)
add(mapp,i,j);
}
document.getElementById('demo').innerHTML="Map size are: "+ mapp.size;
</script>

输出: Map size are: 0
但是,当我打印 map 条目时:
for (var m in mapp)
{
for (k=0;k<mapp[m].length;k++)
document.write(mapp[m][k]+" ");

document.write("<br>");
}

我可以看到输出:
0 
0 1
0 1 2
0 1 2 3

请告诉我如何找到 map 的大小以及为什么上面的代码 mapp.size不管用。

最佳答案

您正在治疗 Map像一个数组并使用 []访问它的键/值项。您需要使用Map的实际方法.而不是 [] , 使用 .get() .set() .

现在,您正在设置实际的 房产 Map这与数据结构存储的实际跟踪的可迭代 k/v 项不同。

// Incorrect
const m1 = new Map();

m1["foo"] = "bar";

console.log(m1.length); // undefined
console.log(m1.size); // 0

// Correct
const m2 = new Map();

m2.set("foo", "bar");

console.log(m2.length); // undefined
console.log(m2.size); // 1

关于javascript - 如何在javascript中找到 map 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54518951/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com