【发布时间】:2021-10-02 16:11:27
【问题描述】:
我正在导入 [faker][1] 库并创建一个 method 以返回所有 [faker][1] 的 methods,如下所示:
const faker = require('faker')
const getMethods = obj => Object.getOwnPropertyNames(obj).filter((method) => typeof obj[method] === 'object')
console.log(getMethods(faker))
但是,我只是获得第一级objects:
[
'locales', 'locale',
'localeFallback', 'definitions',
'fake', 'unique',
'mersenne', 'random',
'helpers', 'name',
'address', 'animal',
'company', 'finance',
'image', 'lorem',
'hacker', 'internet',
'database', 'phone',
'date', 'time',
'commerce', 'system',
'git', 'vehicle',
'music', 'datatype'
]
我想获取属于这些objects 的所有methods。
[1]:https://www.npmjs.com/package/faker
【问题讨论】:
-
所以递归到它们...
-
递归或使用
for...in。如果你需要 all 包括不可枚举的,那么你需要递归 +Object.getOwnPropertyDescriptors
标签: javascript arrays object methods faker