javascript - Javascript:使用 forEach 遍历差异类型数组
问题描述
arr = ["billy", "bobby", {"hank": "true"}]
arr.forEach((name, index) => {
if (typeof(name) == "object") {
??????
} else {
console.log(name)
}
})
给定 array arr
,我可以使用 for each 遍历它以控制台记录每个名称(或者在对象的情况下,键)?我想我可以在那里抛出一个条件来捕获对象,但是从那里,我不确定如何将密钥注销。
解决方案
您可以遍历数组项,并检查该对象是否是对象,如果该对象是可以迭代的对象,则可以使用带有属性的循环“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)
}
})
推荐阅读
- javascript - 尝试通过引用单独的 json 来设置值
- c - c中的注册功能
- lua - Roblox 如何检测玩家的团队
- python - 在嵌套的字符串列表中查找唯一元素
- html - rtf(富文本格式)base64数据在angular 6 html上显示
- php - 调用未定义的方法 Illuminate\Database\Eloquent\Builder::pullCache()
- reactjs - React 条件渲染中的表迭代
- typescript - 有条件继承可能吗?
- javascript - 如何将数据从 api 传递到 gojs TreeModel
- javascript - 使用 csv-parser 解析 csv 后如何获取输出?