首页 > 解决方案 > Javascript:使用 forEach 遍历差异类型数组

问题描述

arr = ["billy", "bobby", {"hank": "true"}]

arr.forEach((name, index) => {
   if (typeof(name) == "object") {
     ??????
   } else {
     console.log(name)
   }
})

给定 array arr,我可以使用 for each 遍历它以控制台记录每个名称(或者在对象的情况下,键)?我想我可以在那里抛出一个条件来捕获对象,但是从那里,我不确定如何将密钥注销。

标签: javascript

解决方案


您可以遍历数组项,并检查该对象是否是对象,如果该对象是可以迭代的对象,则可以使用带有属性的循环“for-in”循环对其每个属性进行迭代,然后您可以获得属性的值

arr = ["billy", "bobby", {"hank": "true"}]

arr.forEach((name, index) => {
   if (typeof(name) == "object") {
    for(var objProp in name){
    console.log(objProp, name[objProp])
}
   } else {
     console.log(name)
   }
})

推荐阅读