请考虑一种情况,其中您要遍历const数组。 两者之间有什么区别吗?
[...arr].forEach((elem) => {
// your operations
});
和
arr.forEach((elem) => {
// your operations
});
这两个可以互换使用吗?
答案 0 :(得分:4)
它将复制该数组。如果回调函数将使用array
参数并对其进行修改,那将有所作为。例如:
[...arr].forEach((val, i, a) => a.push(val))
如果arr
不是数组而是类似 array 的数组,它将把它变成一个数组,从而使您可以forEach
对其进行覆盖。例如:
[...document.getElementsByTagName('p')].forEach(p => console.log(p))