javascript - 如何识别 Array<{}> 的 javascript 对象字段的类型
问题描述
我有来自可能包含嵌套字段的请求的 JavaScript 对象,我需要识别属于 Array<{}> 类型的字段,并且我需要单独迭代该字段,但在 javascript 中我无法实现这一点。任何人都请建议我根据字段类型查找字段的解决方案。
样本对象
const obj = {
name:'jane',
age: 22,
interested_books:[{book_name:'xxx', author_name:'yyy'}, {book_name:'aaa', author_name:'zzz'}],
hobbies:['reading', 'football'],
address:{street_name:'dace street', door_no:12}
}
在这些字段中,我需要迭代 Array<{}> 的字段(即interested_books)
解决方案
使用isArray检查 value 是否为数组
const obj = {
name: 'jane',
age: 22,
interested_books: [{
book_name: 'xxx',
author_name: 'yyy'
}, {
book_name: 'aaa',
author_name: 'zzz'
}],
hobbies: ['reading', 'football'],
address: {
street_name: 'dace street',
door_no: 12
}
}
for (let keys in obj) {
if (Array.isArray(obj[keys])) {
obj[keys].forEach(item => console.log(item))
}
}
推荐阅读
- flutter - 如何仅在 FutureBuilder 获取 snapshot.data 后加载列表?
- javascript - webRTC nodejs在vercel中部署后不起作用
- php - PHP preg_match_all - 以不同的顺序从模式中提取内容
- javascript - JavaScript:如何检查 OpenWeather API 城市列表中是否存在城市名称:错误检查
- c++ - shared_ptr 被提前删除
- installshield - 如何修复“installShield 2020 中的构建错误”
- javascript - React Material UI Table - 同时切换所有切换
- php - PHP - file_get_contents() 在本地主机上完美运行,但在实时服务器上运行
- flutter - 谁能告诉这个对话框有什么问题?
- python - pyautogui 模块的 typewrite 命令未提供所需的输出