首页 > 解决方案 > 如何识别 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)

标签: javascripttypescript

解决方案


使用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))
  }
}


推荐阅读