Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何正确使用lodash将数组中的对象分组?_Javascript_Arrays_Typescript_Object_Lodash - Fatal编程技术网

Javascript 如何正确使用lodash将数组中的对象分组?

Javascript 如何正确使用lodash将数组中的对象分组?,javascript,arrays,typescript,object,lodash,Javascript,Arrays,Typescript,Object,Lodash,我有这样一个对象数组: [ { key: 'particles', value: 'GN' }, { key: 'particles', value: 'TR' }, { key: 'wave', value: 'AB' }, { key: 'sense', value: 'TU' } ] 我需要做一些事情,比如: [ { system.particles: ['GN', 'TR'] }, system.wave: {'AB'}, system.sense: {'TE'} } ]

我有这样一个对象数组:

[ { key: 'particles', value: 'GN' },
  { key: 'particles', value: 'TR' },
  { key: 'wave', value: 'AB' },
  { key: 'sense', value: 'TU' } ]
我需要做一些事情,比如:

[ { system.particles: ['GN', 'TR'] }, system.wave: {'AB'}, system.sense: {'TE'} } ]
我尝试使用lodash,正如我从使用groupBy函数的示例中看到的那样。但我还没能得到我想要的,包括密钥名称的更改

这是我代码的一部分:

let exo = _.mapValues(_.groupBy(desc, 'key'),
    clist => clist.map(tags => _.omit(desc, ['key'])))
但我只得到这个,这不是我想要的

{ particles: [ { value: 'GN' }, { value: 'TR' } ],
  wave: [ { value: 'AB' } ],
  sense: [ { value: 'TU' } ] }
你可以这样画地图

const数据=[
{key:'particles',value:'GN'},
{key:'particles',value:'TR'},
{键:'wave',值:'AB'},
{键:'wave',值:'ABC'},
{键:'wave',值:'ABD'},
{key:'sense',value:'TU'}
];
const groupedData=\.map(\.groupBy(数据,'key'),(值,key)=>{
const newKey='system.'+key;
返回{[newKey]:{.map(value,'value')};
});
console.log(groupedData)

此部分
{'GN',TR'}
无效。你需要一个数组。用desc.value来代替u.omit(…),怎么样?@Vortex check我的答案是你想要的?这是什么
系统粒子?@NinaScholz你是对的,对不起。修正版谢谢你的回答,这正是我想要的。有没有办法更改密钥名称?它们是从变量定义的名称。我的意思是,例如“particles”到“system.particles”,你说它们是从变量定义的名称是什么意思?类似于
system.${data.key}
,但这种格式在return中无效我真的很感谢这种帮助,这完全是我所需要的!非常感谢。