我想了解display: block
收藏的算法如何在ES-2015中发挥作用,但当我使用Map
方法时,我遇到了变量Map
的奇怪情况和a
关于缺少")" 在函数循环结束。
任何人都知道这可能是什么问题?
b

答案 0 :(得分:4)
使用console.log(a, ':', b)
或console.log(a + ':' + b)
答案 1 :(得分:2)
似乎您想在控制台中为地图中的每个键值对打印Key:Value
。只修复console.log
会有效但是因为你正在了解Map
我正在添加为什么Map比Javascript普通对象更适合你想要的输入。
当您向Map
提供类似的2D数组时,它会创建一个类似于{'1': 'str1', 1: 'num1', true: 'bool1'}
的ES6地图
现在,创建ES6地图与普通Javascript对象的区别在于密钥在Map
中保留其提供的数据类型。
对象通常将所有键视为字符串,因此当您提供"1"
和1
String
和Number
的条目时,对象将同时处理它们作为"1"
并将最近给定的值分配给"1"
或1
。
let object = {'1': 'str1', 1: 'num1', true: 'bool1'}
console.log(object);
// {1: "num1", true: "bool1"}
虽然你创建的地图会像这样创建
Map(3) {"1" => "str1", 1 => "num1", true => "bool1"}
'use strict';
let map = new Map([
['1', 'str1'],
[1, 'num1'],
[true, 'bool1']
]);
map.forEach((value, key, set) => {
console.log( key + ':' + value );
})
let object = {'1': 'str1', 1: 'num1', true: 'bool1'}
console.log(object);