Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何获取Javascript中的映射数组以在下拉列表中打印_Javascript_Html_Arrays - Fatal编程技术网

如何获取Javascript中的映射数组以在下拉列表中打印

如何获取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) 现在我需要把它打印到一个下拉列表中,我不知道怎么打印

我需要将地图数组打印到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)
现在我需要把它打印到一个下拉列表中,我不知道怎么打印

我的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>