能否有人向我解释一下map.entries()和解构究竟是如何工作的?
var numbers = new Map()
numbers.set(1,'one')
numbers.set(2,'two')
numbers.set(3,'three')
numbers.set(4,'four')
var [key,value] = numbers.entries() // returns key as [1,'one'] and value as [2,'two']
//but when using for..of loop
for(let [key,value] of numbers.entries()){
console.log(key,value)
} // it works and console logs keys and values
这个在 for..loop中为什么有效?.entries()方法具体是如何工作的?我在网上搜索了很久,但无法真正理解它。
[key, value]
赋值是误导性的。那里并没有获取到一个键和一个值。更好的命名方式应该是[firstKeyValuePair, secondKeyValuePair]
,但我怀疑这甚至不是你想要的。 - trincotfor..of
循环中,您甚至不需要使用.entries()
,因为该映射是直接可迭代的。 - Alnitak