微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

父子数组对应关系整合(reduce)

父数组:arr1
arr1 = [
{label: “A”, value: “1”},
{label: “B”, value: “2”},
{label: “C”, value: “3”}
]

子数组:arr2
arr2 = [
{label: “A-1”, value: “1”},
{label: “A-2”, value: “2”},
{label: “A-3”, value: “3”},
{label: “B-1”, value: “4”},
{label: “B-2”, value: “5”},
{label: “B-3”, value: “6”},
{label: “C-1”, value: “7”},
{label: “C-2”, value: “8”},
{label: “C-3”, value: “9”},
]

希望的结果数组:last
last = [{label: “A”, value: “1”,
children: [{label: “A-1”, value: “1”},
{label: “A-2”, value: “2”},
{label: “A-3”, value: “3”}]},
{label: “B”, value: “2”,
children: [{label: “B-1”, value: “4”},
{label: “B-2”, value: “5”},
{label: “B-3”, value: “6”},
{label: “C”, value: “3”,
children: [{label: “C-1”, value: “7”},
{label: “C-2”, value: “8”},
{label: “C-3”, value: “9”}]}
]

具体代码如下:
let last = arr1.reduce((pre,cur) => {
return (pre.push((() => {
let ic = cur.label;
cur.children = arr2.reduce((prev,curr) => {
if(curr.label.indexOf(ic) != -1){
return (prev.push(curr),prev)
}else{
return prev
}
},[])
return cur
})()),pre)
},[])
console.log(last)

代码截图

在这里插入图片描述

有更简洁的欢迎交流哈

原文地址:https://www.jb51.cc/wenti/3284245.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐