老师我对于forEach还有疑问

来源:3-9 Map的应用

扶耳摩兔

2021-07-28 11:30:59

const m = new Map([
            [p1,{
                color:'red',
                backgroundColor:'yellow',
                fontSize:'40px'
            }],
            [p2,{
                color:'green',
                backgroundColor:'pink',
                fontSize:'40px'
            }],
            [p3,{
                color:'blue',
                backgroundColor:'orange',
                fontSize:'40px'
            }]
        ]);
m.forEach((propObj,elem) => { for(const p in propObj){ elem.style[p] = propObj[p]; } })

forEach的参数里面,propObj是当前遍历到的p1,p2,p3元素对吧,这个elem的位置正常来讲不应该是index索引的值吗,为什么这指的是DOM元素?请老师解答,我理解的部队还请老师详细讲解一下forEach相关知识点。

写回答

1回答

好帮手慕星星

2021-07-28

同学你好,propObj代表的是{},不是p元素

http://img.mukewang.com/climg/6100d4dc09c83c4d04090134.jpg

forEach遍历数组,回调函数中第二个参数为索引。但是在map中,索引代表的是key,可以输出m看看

http://img.mukewang.com/climg/6100d47109ff5f8901960032.jpg

http://img.mukewang.com/climg/6100d47f09fd9af407090193.jpg

forEach中第一个参数代表是value,第二个参数代表的是key,记住这种使用方式即可。

所以会使用for in遍历propObj,然后给每个p元素设置样式。

祝学习愉快!

0

0 学习 · 15276 问题

查看课程