JavaScript的for-in语句很难使用。

JavaScript的for in语句很难使用,
这里有一个多重循环:

for ((menu_data) in array) {
    for (group in array[menu_data].groups){
      for (child in array[menu_data].groups[group].children) {
        if (array[menu_data].groups[group].children[child].name === name){
          console.log(name, array[menu_data].groups[group].children[child].name )
          return child.route
        }
      }
    }
  }

我们可以看到:

array[menu_data].groups[group].children[child].name

是相当难使用的,一大长串。
有没有更加方便的办法?

阅读 2.6k
5 个回答

幸亏JavaScript中的Array有forEach()方法:

var items = [
  '1A,','2B','3C','4D','5E'
]

items.forEach((item) => {
  console.log(item)
})

说句跟问题关联不大的东西吧。
不要for in遍历数组。

题主这个自问自答又答非所问看着很解闷儿:)

哈哈 感谢 收藏了

有个东西叫临时变量

for(menu_data in array)
{
    var groups = array[menu_data].groups
    for(group in groups)
    {
        var children = groups[group]
        for(child in children)
        {
            if(children[child].name === name)
            {
                console.log(name,children[child].name)
                return child.route
            }
        }
    }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题