map集合的foreach遍历

来源:3-9 Map的应用

JarvanIV

2021-10-14 17:30:43

https://img.mukewang.com/climg/6167f8af090fd2f903230120.jpg

key和value要反过来写吗?

写回答

3回答

好帮手慕星星

2021-10-15

同学你好,p是变量,如果用点方式,p会直接是属性,不是p变量的值为属性。例如:

https://img.mukewang.com/climg/6168f55f09a654f402620111.jpg

https://img.mukewang.com/climg/6168f5650982d51701540041.jpg

这不是我们想要的结果,所以需要用[]方式,p变量值会当做属性

https://img.mukewang.com/climg/6168f58d09caca4003100134.jpg

https://img.mukewang.com/climg/6168f5940940c59c01990025.jpg

所以课程中用了elem.style[p],自己再理解下。

0

好帮手慕星星

2021-10-14

同学你好,propObj代表的是遍历的每一项数据

https://img.mukewang.com/climg/616806eb095fa59506180098.jpg

当遍历一个{}的时候时候,p代表的是属性名

https://img.mukewang.com/climg/616807260955d30f04820203.jpg

https://img.mukewang.com/climg/61680732099f236c07060318.jpg

那么propObj[p]获取的是属性值

https://img.mukewang.com/climg/616807de09cb190c04730236.jpg

https://img.mukewang.com/climg/616807ed0901dc7c05850117.jpg

elem.style[p] = propObj[p]; 这行代码的意思是将获取的属性值,赋值给elem元素样式每一个p属性,也就是

elem.style['color']='red' ;elem.style['backgroundColor']='yellow';elem.style['fontSize']='40px' 。

自己再理解下。

0
harvanIV
hp>是方括号这里我没有很理解,为啥要elem.style[p],不可以用点语法么

h021-10-14
共1条回复

好帮手慕星星

2021-10-14

同学你好,参数位置是固定的。

forEach的处理函数中,第一参数为当前元素value,第二个参数为当前元素索引key。for in遍历中,如果遍历的对象,p代表的是对象属性;如果遍历的数组,p代表的是数组索引。

记住参数代表的意思,不要和其他方法中的key,value位置弄混了。

祝学习愉快!

0
harvanIV
hp>https://img.mukewang.com/climg/616800af09e5a50708170560.jpg有点不明白这个写法elem.style[p] = propObj[p];,打印出的p是属性名。不应该是elem.style.p吗?

h021-10-14
共1条回复

前端工程师

前端入门如同写字,如果你不知道从哪开始,那就选择前端(含Vue3.x,React17,TS)

20327 学习 · 17877 问题

查看课程