Javascript 通过从现有JSON进行筛选来创建JSON

Javascript 通过从现有JSON进行筛选来创建JSON,javascript,json,mapreduce,Javascript,Json,Mapreduce,我试图通过过滤父节点名和其中的几个子节点,从父JSON中过滤来创建JSON。在执行此操作时,我得到以下错误 无法读取未定义的at data.children.filter.map.Object.assign.children.o.children.reduce属性“filter” 这就是你想要的吗 result = data.children .filter(o => o.name === 'Age') .map(o => Object.assign(

我试图通过过滤父节点名和其中的几个子节点,从父JSON中过滤来创建JSON。在执行此操作时,我得到以下错误

无法读取未定义的at data.children.filter.map.Object.assign.children.o.children.reduce属性“filter”

这就是你想要的吗

result = data.children
    .filter(o => o.name === 'Age')
    .map(o => Object.assign(
        {},
        o,
        {
            children: o.children.filter(o => o.name === 'Male' || o.name === 'Female')
        }
    ));

console.log(result);

我只能在您的数据中找到一个实例,每个字符串
“Male”
“Female”
,这就把它们拉出来了。

有点猜测,但在第1305行,您是指
o.children.filter
而不是
a.children.fiter
?根据数据,此时,
a
name
code
count
,但没有
子项
。但是,
o
确实有
children
这个错误似乎比
TypeError:a.children是未定义的
您是否可以让我知道我是否可以从任何文档中阅读更多关于它的信息,以了解它的概念。谢谢它们是
数组
类的所有方法,请参阅