如何获取Javascript中的映射数组以在下拉列表中打印
我需要将地图数组打印到html的下拉列表中,我得到的地图代码如下:如何获取Javascript中的映射数组以在下拉列表中打印,javascript,html,arrays,Javascript,Html,Arrays,我需要将地图数组打印到html的下拉列表中,我得到的地图代码如下: var myMap = new Map(), select = document.getElementById('students'); myMap.set("Zane", 45); myMap.set("Jane", 50); myMap.set("Rumi", 100); myMap.set("Ken", 70); myMap.set("Jake", 37) 现在我需要把它打印到一个下拉列表中,我不知道怎么打印
var myMap = new Map(),
select = document.getElementById('students');
myMap.set("Zane", 45);
myMap.set("Jane", 50);
myMap.set("Rumi", 100);
myMap.set("Ken", 70);
myMap.set("Jake", 37)
现在我需要把它打印到一个下拉列表中,我不知道怎么打印
我的html
但是我如何像for循环一样填充它呢
for (name in myMap) {
select.add(new Option(myMap[name]));
};
未执行此操作,但对普通阵列有效您可以使用循环,也可以使用通过映射进行循环
var myMap=new Map(),
select=document.getElementById('names');
myMap.set(“Zane”,45岁);
myMap.set(“Jane”,50岁);
myMap.set(“Rumi”,100);
我的地图集(“肯”,70);
我的地图集(“杰克”,37岁)
myMap.forEach((值,键)=>{
选择。添加(新选项(键、值))
})
/*
//这同样有效
for(让输入myMap){
select.add(新选项(条目[0],条目[1]))
};
*/
您可以使用myMap.entries()
获取[键,值]
数组,并使用该数组创建下拉列表:
var select=document.getElementById('students');
var myMap=newmap();
myMap.set(“Zane”,45岁);
myMap.set(“Jane”,50岁);
myMap.set(“Rumi”,100);
我的地图集(“肯”,70);
我的地图集(“杰克”,37岁);
var html='';
for(myMap.entries()的常量项){
html+=''+条目[0]+'';
}
select.innerHTML=html代码>
正如评论中所指出的,映射可能不是用于此目的的正确数据结构。您最好使用数组
尽管如此,您可以使用forEach(…)
在映射上迭代:
将给你:
<select id="students">
<option value="45">Zane</option>
<option value="50">Jane</option>
<option value="100">Rumi</option>
<option value="70">Ken</option>
<option value="37">Jake</option>
</select>
赞恩
简
鲁米
知识范围
满意的
您可以使用map来迭代,然后使用模板文本来创建选项
var myMap=new Map(),
select=document.getElementById('students');
myMap.set(“Zane”,45岁);
myMap.set(“Jane”,50岁);
myMap.set(“Rumi”,100);
我的地图集(“肯”,70);
我的地图集(“杰克”,37岁);
设str='';
myMap.forEach((键,val)=>{
str+=`${val}`
});
select.innerHTML=str代码>
为什么要使用simpla数组结构的映射呢?我想稍后在相同的上下文中使用映射来计算将生成的45
etcOh是的。我会更新答案。我被否决了吗?我不知道。
<select id="students">
<option value="45">Zane</option>
<option value="50">Jane</option>
<option value="100">Rumi</option>
<option value="70">Ken</option>
<option value="37">Jake</option>
</select>