18910140161

js的map循环:js map循环参数问题?

顺晟科技

2022-09-25 07:18:59

204

HUPVBXZ)B$K~U(6E_`5973Y.pngJHLZAU1{F_KK@W[XJJIVOJI.png

map后面的[key,value]这么写打印了对应的key和value,不太明白是怎么对应打印出来的,求解

这个中括号代表了map里面的第一个参数,然后中括号里面的第一个参数代表数组里面的第0项?

entries()返回的是一个对象的key - value数组:[[key0, value0], [key1, value1]]

const obj = { foo: 'bar', baz: 42 };
console.log(Object.entries(obj)); // [ ['foo', 'bar'], ['baz', 42] ]

在用map()每次遍历的值是里面的[key, value],在参数里通过es6的数组解构就拿到了对应对象的key和value

Object.entries 得到的是 [string, any][] 的数组。

那么对这个数组 map,箭头函数拿到的元素类型就是 [string, any]

(item) => console.log(item),打印出来就是 [ "name", "" ],……

([ key, value ]) => ... 是数组解构的语法。数组解构可以直接写在形参里,这里把数组的两个元素绑定到 keyvalue 上。

这就相当于你写

(item) => {
    const [ key, value ] = item
    ...
}

数组解构

var [a,b,c,d] = [1,2,3,4,5]
console.log(a,b,c,d) //1 2 3 4
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航