版权声明:任先阳 任 先 阳 任先 先阳,nvcc.cc、www.nvcc.cc、sbfox.com、www.sbfox.com https://blog.csdn.net/qq_39571197/article/details/84775215
const statusMapData = [
[1, [11, [12]]],
[2, [21, [22]]],
[3, [31, [32]]],
];
const statusMap = new Map(statusMapData);
/**
* statusMap
* 0 => [11,[12]]
* 1 => [21,[22]]
* 2 => [31,[32]]
* */
/**
* 为什么第一层数组被展开了呢?
* 语法:new Map([iterable])
* Iterable 可以是一个数组或者其他 iterable 对象,其元素或为键值对,或为两个元素的数组。 每个键值对都会添加到新的 Map。null 会被当做 undefined。
* */
const imitateMap = {};
//对数组执行for...of...
for (let [v, k] of statusMapData) {
console.log(v);
imitateMap[v] = k;
}
/**
* imitateMap
* 0 => [11,[12]]
* 1 => [21,[22]]
* 2 => [31,[32]]
* */
//可以看出来,并没有那么神奇~
console.log(imitateMap[1] === statusMap.get(1));// true
console.log(imitateMap[2] === statusMap.get(2));// true