Javascript确实有一种很好的方法来';切片';地图

Javascript确实有一种很好的方法来';切片';地图,javascript,Javascript,我知道slice()对于数组,现在要“切片”贴图,我使用以下代码: const map = new Map([[1,"a"],[2,"b"]]) var arrayTmp = Array.from(map).slice(0,1); var myMap = new Map(); arrayTmp.forEach(value => { myMap.set(value[0], value[1]); }); 它工作正常,但我想知道是否存在一些现有的本机方法来获得更简洁的代码?a以插入

我知道
slice()
对于数组,现在要“切片”贴图,我使用以下代码:

const map = new Map([[1,"a"],[2,"b"]])

var arrayTmp = Array.from(map).slice(0,1);

var myMap = new Map();
arrayTmp.forEach(value => {
   myMap.set(value[0], value[1]); 
});
它工作正常,但我想知道是否存在一些现有的本机方法来获得更简洁的代码?

a以插入顺序存储键/值对

您可以省略迭代,只将切片数组作为构造函数的参数

const
地图=新地图([[1,“a”],[2,“b”]);
arrayTmp=Array.from(map).slice(0,1),
myMap=新地图(arrayTmp),

log([…myMap])映射中的键应该是无序的-你打算如何分割它?@RidgeA如果你认为是对象而不是映射,映射是有序的:“映射对象持有键-值对并记住键的原始插入顺序。”数组在这里不是更好吗?我认为,地图没有索引,所以切片将意味着大量的迭代think@atmd@RidgeA如果您检查
,规范不会在顶部显示“存储键的插入顺序”。forEach
节的迭代被明确描述为按插入顺序进行。此外,对于
.set
,这些步骤还明确指出新条目应位于
列表中的最后一个条目,该列表描述了映射的内容。