Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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 如何将属性为“a”的数组添加到属性为“attr”的数组中b'基于第三个数组的属性,带有attr。['a','b']_Javascript_Arrays_Object_Ecmascript 6_Lodash - Fatal编程技术网

Javascript 如何将属性为“a”的数组添加到属性为“attr”的数组中b'基于第三个数组的属性,带有attr。['a','b']

Javascript 如何将属性为“a”的数组添加到属性为“attr”的数组中b'基于第三个数组的属性,带有attr。['a','b'],javascript,arrays,object,ecmascript-6,lodash,Javascript,Arrays,Object,Ecmascript 6,Lodash,我有3个数组,如下所示: Categories: 0: {id: "123", name: "Cat 1"}, 1: {id: "456", name: "Cat 2"}, 2: {id: "789", name: "Cat 3"} Account Category: 0: {categoryId: "123", supportId:"john@gmail.com" }, 1: {categoryId: "456", supportId:

我有3个数组,如下所示:

 Categories:

    0: {id: "123", name: "Cat 1"},
    1: {id: "456", name: "Cat 2"},
    2: {id: "789", name: "Cat 3"}


    Account Category:

    0: {categoryId: "123", supportId:"john@gmail.com" },
    1: {categoryId: "456", supportId:"john@gmail.com" },
    2: {categoryId: "789", supportId:"sherlock@gmail.com" },
    3: {categoryId: "123", supportId:"bikal@gmail.com"}


    Accounts:

    0: {email: "john@gmail.com", firstName: "john"},
    1: {email: "sherlock@gmail.com", firstName: "sherlock"},
    2: {email: "bikal@gmail.com", firstName: "bikal"}
我要补充一点:

根据类别中的id将类别划分到其特定帐户中 来自帐户的电子邮件 链接它们的唯一方法是另一个数组帐户类别,该类别具有两个字段

我对如何做到这一点感到困惑。我可以使用lodash,但即使这样,我也不确定如何执行此任务

任何帮助都将不胜感激,谢谢

编辑: 输出应如下所示:

Accounts:

0: {categories:[{id: "456", name:"Cat 2"}, {id: "123", name: "Cat 1"}], email: "john@gmail.com", firstName: "john"},
1: {categories:[{id: "789", name:"Cat 3"}], email: "sherlock@gmail.com", firstName: "sherlock"},
2: {categories:[{id: "123", name:"Cat 1"}], email: "bikal@gmail.com", firstName: "bikal"}
操作相当简单-根据categoryId找到正确的supportId,然后获取电子邮件和名字,并返回所需的属性:

const Categories=[{id:123,name:cat1},{id:456,name:cat2},{id:789,name:cat3}]; const AccountCategory=[{categoryId:123,supportId:john@gmail.com},{类别ID:456,支持ID:john@gmail.com},{类别ID:789,支持ID:sherlock@gmail.com},{categoryId:123,supportId:bikal@gmail.com}]; const Accounts=[{电子邮件:john@gmail.com,名字:john},{电子邮件:sherlock@gmail.com,firstName:sherlock},{电子邮件:bikal@gmail.com,名:bikal}]; const res=Categories.map{id,name}=>{ const{supportId}=AccountCategory.find{categoryId}=>categoryId==id; const{email,firstName}=Accounts.find{email,firstName}=>email==supportId; 返回{id,name,email,firstName}; }; console.logres;
.作为控制台包装器{max height:100%!important;top:auto;}输出应该是什么?听起来像是要求我们为您编写代码…@JackBashford我已经编辑了预期输出的代码。请调查一下。非常感谢。这个问题还不清楚,也没有做出任何努力。在我眼里,这有点像填鸭式的喂食。另外,在AccountCategory中,如果您注意到的话,有两封邮件是针对categoryId 123的。这部分要求没有答案,不是问题陈述,因为没有努力,会引起不必要的评论/votes@Rajesh再看一遍代码,我已经按照预期的输出对其进行了编辑。@JackBashford如前所述,这是一项要求,随着我们进入讨论和提问,它将发生变化。那会使你的答案无效。因此,最好有一个问题陈述。