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
,这些步骤还明确指出新条目应位于列表中的最后一个条目,该列表描述了映射的内容。