Javascript 未定义的Lodash群

Javascript 未定义的Lodash群,javascript,json,lodash,Javascript,Json,Lodash,我有一份详细的动物名单,我正试图按物种分类。首先,我获取JSON,然后应用分组,然后在一个ionic列表上的for循环中提供它。在没有分组的情况下,数据会加载到列表中,但在应用分组时,我会将数据作为未定义的返回 // Get the list of residents this.wwapi.getRepoData('discovery/find/' + this.section).subscribe(data => { this.allResidents = data;

我有一份详细的动物名单,我正试图按物种分类。首先,我获取JSON,然后应用分组,然后在一个ionic列表上的for循环中提供它。在没有分组的情况下,数据会加载到列表中,但在应用分组时,我会将数据作为未定义的返回

 // Get the list of residents
 this.wwapi.getRepoData('discovery/find/' + this.section).subscribe(data => {
     this.allResidents = data;
     this.allResidentsAlphabet = _.chain(data).groupBy('Species').toPairs().map(item => _.zipObject(['SpeciesName', 'Species', item])).value();
     this.residents = this.allResidentsAlphabet;
});
伪JSON数据的结构如下所示:

{"Profileid":0,
"Name":"Annie",
"Dateadded":null,
"Picture":"assets/img/mammals/hero/1.jpg",
"About":null,
"Habitat":null,
"Story":null,
"Sizegraphic":null,
"Discoveryid":"mammals",
"Age":null,
"Ageinwild":null,
"Food":null,
"Foodinwild":null,
"Avgheight":null,
"Avgweight":null,
"Species":"skunk",
"Height":null,
"Weight":null,
"Likes":null}]
我怀疑问题可能出在映射上,因为我从数据的控制台日志中得到的返回是:

对象种类:未定义的物种名称:未定义的臭鼬,[对象] 对象],[对象对象]:未定义


因此,我可以看到它正在返回它们,但以一种奇怪的方式?

我对您的映射操作进行了一些尝试-我认为问题可能是在查看Lodash文档后的调用:

// Item isn't a prop name here, and no values are specified
_.zipObject(['SpeciesName', 'Species', item])
如果您使用以下内容,我认为您可能会获得所需的数据:

_.chain(data)
    .groupBy('Species')
    .toPairs()
    .map(item => _.zipObject(['SpeciesName', 'Species'], item))
    .value();

不确定这是否是您要查找的数据,因为您在问题中没有指定输出-如果不是,请指定您所需的输出,以便我们进一步提供帮助。

您在做什么。使用
chain
zip
时容易混淆!详细说明我正在尝试按物种值对动物进行分组,以便在Ionic中将它们按物种划分。如果数据已完全检索或
length==0
,则需要添加一个条件。这就是您的代码中断的原因需要添加哪些代码?它将如何改变代码?而且数据确实回来了,但我认为是在订阅()中的错误位置