javascript - 为什么我无法在 javascript 中访问 forEach() 内的数组

标签 javascript arrays foreach

我不知道为什么我无法访问 forEach 内的 allSubIABs 数组。 我可以很好地访问字符串 newCheckState

const newIABs = { ...this.state.iabs }
let allSubIABs = []
let newCheckState = 'asdasdasd'

console.log(typeof allSubIABs, allSubIABs)
Object.keys(newIABs).forEach(firstLevelIABCode => {
  console.log(newCheckState)
  console.log(typeof allSubIABs, allSubIABs)
  let allSubIABs = allSubIABs.concat(newIABs[firstLevelIABCode].children)
})

输出:

object []
asdasdasd
undefined undefined
Uncaught TypeError: Cannot read property 'concat' of undefined

最佳答案

您的问题是回调中的 let 声明隐藏了外部 allSubIABs 声明。只需摆脱那个 let 即可。

关于javascript - 为什么我无法在 javascript 中访问 forEach() 内的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47269166/

相关文章:

javascript - D3 - 如何正确标记 x 轴

javascript - 如何从客户端访问和读取文件?

arrays - 将数据 reshape 为 CSV

java - arrayList for(int 数据 :) checkout iteration times

javascript - 在vuejs中使用jquery函数

javascript - 如何在 ember 中为类属性编写 CSS 条件?

arrays - AngularJS将数组添加到cookie存储

java - 如何解决将数组返回到空数组Java

c# - 带有 where 子句的 foreach 循环

c# - 在 C# 中搜索和删除 Observable 集合中的内容?