Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.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_Javascript_Node.js - Fatal编程技术网

分组两个数组(特殊条件)-Javascript

分组两个数组(特殊条件)-Javascript,javascript,node.js,Javascript,Node.js,我需要分组两个数组,第二个数组没有代码,然后设置“”(其他问题和答案,不显示如何这样做) 第一个阵列: [ {代码:“1”,说明:“1”,活动:“5”}, {代码:“2”,说明:“2”,活动:“30”}, {代码:“3”,说明:“树”,活动:“898499949”}, {代码:“4”,说明:“4”,活动:“65465”}, {代码:“5”,说明:“5”,活动:“123”}, {代码:“6”,说明:“6”,活动:“111”}, ] 第二个阵列: [ {代码:“1”,值:500}, {代码:“1”

我需要分组两个数组,第二个数组没有代码,然后设置“”(其他问题和答案,不显示如何这样做)

第一个阵列:

[
{代码:“1”,说明:“1”,活动:“5”},
{代码:“2”,说明:“2”,活动:“30”},
{代码:“3”,说明:“树”,活动:“898499949”},
{代码:“4”,说明:“4”,活动:“65465”},
{代码:“5”,说明:“5”,活动:“123”},
{代码:“6”,说明:“6”,活动:“111”},
]
第二个阵列:

[
{代码:“1”,值:500},
{代码:“1”,值:300},
{代码:“2”,值:20},
{代码:“3”,值:1950},
{代码:“6”,值:69990},
{代码:“6”,值:2330},
{代码:“6”,值:6120},
{代码:“6”,值:2},
]
我需要在第一个数组中设置值,如果第一个数组和第二个数组中的代码相等,则第二个数组没有代码,然后设置“”:

[
{代码:“1”,说明:“1”,活动:“5”,值:500},
{代码:“2”,说明:“2”,活动:“30”,值:20},
{代码:“3”,说明:“树”,活动:“898499949”,值:1950},
{代码:“4”,说明:“4”,活动:“65465”,值:},
{代码:“5”,说明:“5”,活动:“123”,值:},
{代码:“6”,说明:“6”,活动:“111”,值:“69990”},
]
预期新结果:

[
{代码:“1”,说明:“1”,活动:“5”,值:500},
{代码:“1”,说明:“1”,活动:“5”,值:300},
{代码:“2”,说明:“2”,活动:“30”,值:20},
{代码:“3”,说明:“树”,活动:“898499949”,值:1950},
{代码:“6”,说明:“6”,活动:“111”,值:“69990”},
{代码:“6”,说明:“6”,活动:“111”,值:“2330”},
{代码:“6”,说明:“6”,活动:“111”,值:“6120”},
{代码:“6”,说明:“6”,活动:“111”,值:“2”},
]
您可以为第二个数组选择一个值,并映射第一个数组,然后扩展映射的对象或默认值

const
first=[{code:'1',description:'1',activity:'5'},{code:'2',description:'2',activity:'30'},{code:'3',description:'tree',activity:'898499949'},{code:'4',description:'4',activity:'65465'},{code:'5',description:'5',activity:'123'},{code:'6',description:'111'},
second=[{code:'1',value:500},{code:'2',value:20},{code:'3',value:1950},{code:'6',value:69990}],
key='code',
结果=first.map(
(m=>o=>({…o,…(m.get(o[key])| |{value:'}))
(新映射(second.Map(o=>[o[key],o]))
);
控制台日志(结果)

作为控制台包装{max height:100%!important;top:0;}
这是否回答了您的问题@SebastiánPuchet不,我需要在“value”中插入一个空值,以防第二个数组中没有值<代码>..map(a1,函数(项){return}.extend(项,{u0.find(a2,{code:item.code}){value:'})})如果值为空,我如何才能不将此行导入数组3?您有示例吗?也许你可以问一个新问题?我在“预期的新结果:”中更新了问题,如果数组2没有“代码”,那么这些没有代码的行将不会出现。如果我创建另一个问题,他们将再次拒绝我…看起来你颠倒了顺序。