Node.js lodash在嵌套的groupBy上失败
我有这样一个数据集:Node.js lodash在嵌套的groupBy上失败,node.js,express,lodash,Node.js,Express,Lodash,我有这样一个数据集: var data = [ { keyword: 'organizational inertia', project: 'org_inertia', target: 'A' }, { keyword: 'agent based model organization', project: 'abm_org', target
var data = [ { keyword: 'organizational inertia',
project: 'org_inertia',
target: 'A' },
{ keyword: 'agent based model organization',
project: 'abm_org',
target: 'A' },
{ keyword: 'organizational inertia',
project: 'org_inertia',
target: 'B' },
{ keyword: 'organizational inertia',
project: 'org_inertia',
target: 'C' },
{ keyword: 'organization inertia',
project: 'org_inertia',
target: 'A' } ]
这是一个简单的代码:
const result = _.chain(data)
.groupBy('project')
.mapValues(values => _.chain(values)
.groupBy('target')
.mapValues(values => _.join(_.map(values, 'keyword'),', '))
.value()
)
.value()
返回以下方面的预期结果:
{
abm_org: {
A: "agent based model organization"
},
org_inertia: {
C: "organizational inertia",
A: "organizational inertia, organization inertia",
B: "organizational inertia"
}
}
到目前为止,很好,JFIDLE的作品完美无瑕。但是,当我在节点(v14.15.5)上运行的Express应用程序上移植代码时,结果不同:
{
org_inertia: {
undefined: 'organizational inertia, organizational inertia, organizational inertia, organization inertia' },
abm_org: {
undefined: 'agent based model organization'
}
}
这就像第二个groupBy无法识别密钥一样(但名称是正确的)。。。有任何关于为什么会发生这种情况的提示吗?我的错误与我试图操作的对象的猫鼬模型有关
通过添加
target
字段修复模型,修复了该问题@尼克·帕森斯,你在哪对 您在节点程序中使用的lodash版本是什么?“lodash”:“^4.17.20”在我的软件包中。jsonnpm lodash-v 6.14.11hm,我尝试在节点中使用loash 4.17.20,您的代码似乎正常工作。当您在节点中运行代码时,数据
可能不是您所认为的吗?不,不幸的是,数据
正是我在问题中所写的。。。像从console.log(数据)