Javascript 未定义的Lodash群
我有一份详细的动物名单,我正试图按物种分类。首先,我获取JSON,然后应用分组,然后在一个ionic列表上的for循环中提供它。在没有分组的情况下,数据会加载到列表中,但在应用分组时,我会将数据作为未定义的返回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;
// 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
,则需要添加一个条件。这就是您的代码中断的原因需要添加哪些代码?它将如何改变代码?而且数据确实回来了,但我认为是在订阅()中的错误位置