开头先放一张大大的图片

如:Object.forEach(...)
毫无疑问是不可以的。

那么...怎么样能用forEach()方法来遍历对象?
在解决这个问题之前,我们先来看看forEach是什么
我们先来看MDN上对forEach的描述
forEach()方法为每个数组元素执行一次提供的函数
看完这句话,大家应该心里面有谱了,答案无疑是:“能!”
关键看你在这个函数中做了什么
如果你已经对forEach()函数很熟悉了,请你跳过下面的入门片段直接看最后面。
其语法为:
arr.forEach(callback(currentValue [, index [, array]])[, thisArg])
或许我这么写你会看的更明白些
array.forEach(function(currentValue, index, arr), thisValue)
参数解析:
- callback:在每个元素上执行的功能. 它接受一到三个参数:
- currentValue:数组中正在处理的当前元素.(必需。当前元素)
- index Optional:数组中的索引currentValue .(可选。当前元素的索引值。)
- array Optional:调用了forEach()数组.(可选。当前元素所属的数组对象)
- thisArg Optional:执行callback时用作this值.(可选。传递给函数的值一般用 "this" 值。 如果这个参数为空, "undefined" 会传递给 "this" 值)
函数的解释看完了,但没什么感觉,那么我们就动动手使用一下吧!
下面看些小例子(浅->深)
- Hello World!
var arr = ['h','e','l','l','o',' ','w','o','r','l','d'];
arr.forEach(element => {
console.log(element);
});
结果如右图:
- 为每个元素加个‘爱’
var strArr = ['你','我','他'];
function loveFunc(currentValue,index,arr){
arr[index] = '爱'+arr[index];
console.log(arr[index]);
}
strArr.forEach(loveFunc);
//爱你
//爱我
//爱他
(已经熟悉的同学,空降成功!)
我们已经很清楚了,forEach()只能够用于遍历数组
所以我们的目的已经很明确了,就是把对象想办法转化为数组去遍历。
大家可以了解一下Object.keys()
看下MDN上的说法:

var obj = new Object({
a:1,
b:2,
c:3
});
var tmpArr = Object.keys(obj);
tmpArr.forEach((key)=>{
console.log(key+':'+obj[key]);
})
//a:1
//b:2
//c:3
有些不懂的同学可能会问,为什么JS对象可以用下标去访问属性?
建议可以看看下方链接的讨论区有些回答还是解释的很清楚的。
为什么JS一个对象也能用下标去访问
如果有幸帮到你,记着点个赞哦!