nodejs 用reduce遍历输出不了结果,求助。
原始数据如下:
[
{
name: '李小华',
skill: '挖掘',
},
{
name: '李小华',
skill: '起重',
},
{
name: '赵里斯',
skill: '挖掘2',
},
{
name: '赵里斯',
skill: '挖掘3',
},
{
name: '赵里斯',
skill: '挖掘4',
},
我用了reduce来遍历结果,希望结果是:
[{
value: '李小华',
label: '李小华',
children:
[{
value: '挖掘',
label: '挖掘',
},
{
value: '起重'
label: '起重'
}]
},{
value: '赵里斯',
label: '赵里斯',
children:
[{
value: '挖掘2',
label: '挖掘2',
},
{
value: '挖掘3'
label: '挖掘3'
},
value: '挖掘4'
label: '挖掘4'
}]
},
}
目前是这样写的,但是结果总是为空[],不知哪里写错了,请教大神解救。
const arr = skills.reduce((arr,k)=>{
!arr.some((v)=>v.value == k.name&&v.children.push({value: k.skill,})&&arr.push({value: k.name,childred:[k.skill]}));
return arr;
},[])
console.log('打印arr',arr);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
arr不是空数组么,那arr.some一直不会执行啊,不就是一直返回[]么
找到问题了,有个地方写错了。