无法将键指定为JavaScript映射声明中的对象

无法将键指定为JavaScript映射声明中的对象,javascript,maps,key,Javascript,Maps,Key,贴图的键可以是任何值(包括函数、对象或任何基元)。 但是为什么像下面的代码那样分配键值对是错误的呢 让myMap=newmap({'A':'B'}:{'A':'B'},{'C':'D'}:{'C':'D'})因为Map对象接受iterable参数新映射([iterable]) ,但对象是不可iterate的 iterable协议允许JavaScript对象定义或自定义其迭代行为,例如在for…of构造中循环哪些值。某些内置类型是具有默认迭代行为的内置iterables,如Array或Map,而其

贴图的键可以是任何值(包括函数、对象或任何基元)。 但是为什么像下面的代码那样分配键值对是错误的呢


让myMap=newmap({'A':'B'}:{'A':'B'},{'C':'D'}:{'C':'D'})

因为
Map
对象接受iterable参数
新映射([iterable])
,但对象是不可iterate的

iterable协议允许JavaScript对象定义或自定义其迭代行为,例如在for…of构造中循环哪些值。某些内置类型是具有默认迭代行为的内置iterables,如Array或Map,而其他类型(如Object)则不是

请看一下我的情况


因为
映射
对象接受iterable参数
新映射([iterable])
,但对象是不可iterate的

iterable协议允许JavaScript对象定义或自定义其迭代行为,例如在for…of构造中循环哪些值。某些内置类型是具有默认迭代行为的内置iterables,如Array或Map,而其他类型(如Object)则不是

请看一下我的情况


我已经试着弄明白了这一点,我发现这种语法很有效:


让myMap=newmap(['A','B',['A','B'])

我已经试着弄明白了这一点,我发现这种语法是可行的:


让myMap=newmap(['A','B',['A','B'])

但这只是一个数组的数组。。。这就像让数据=[['A','B'],['A','B']]那样,不需要映射。还是我遗漏了什么?谢谢弗拉德的澄清。我只是误解了地图的概念。不管怎样,如果我的语法可以工作就好了…但这只是一个数组数组。。。这就像让数据=[['A','B'],['A','B']]那样,不需要映射。还是我遗漏了什么?谢谢弗拉德的澄清。我只是误解了地图的概念。不管怎么说,如果我的语法能正常工作就好了……谢谢。嗯,我觉得我错过了关于地图的全部要点,因为我看不出
让myMap=新地图([[1,'1'],[2,'2'],[3,'3'],])
让myArray=[[1,'1'],[2,'2'],[3,'3']]之间的区别。
是的,我可以使用
myMap.get(2)
和get'two',但是使用
meArray.get[2]
当然不行了。还有其他福利吗?谢谢。嗯,我觉得我错过了关于地图的全部要点,因为我看不出
让myMap=新地图([[1,'1'],[2,'2'],[3,'3'],])
让myArray=[[1,'1'],[2,'2'],[3,'3']]之间的区别。
是的,我可以使用
myMap.get(2)
和get'two',但是使用
meArray.get[2]
当然不行了。还有更多的好处吗?