Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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_Arrays - Fatal编程技术网

Javascript 对数组排序并添加新属性

Javascript 对数组排序并添加新属性,javascript,arrays,Javascript,Arrays,我试图使array2看起来像array1序列。如果缺少任何属性,我想将该属性添加到array2,并给出0的值 Array1=[“早餐”、“上午”、“午餐”、“下午”、“晚餐”] 阵列2=[ { daypart:“晚餐”, 时间:10,, }, { 日间部分:"下午", 时间:15,, }, { daypart:“午餐”, 时间:9,, }, ] 预期阵列=[ {daypart:“早餐”,时间:0}, {daypart:“AM”,时间:0}, {daypart:“午餐”,时间:9}, {daypa

我试图使
array2
看起来像
array1
序列。如果缺少任何属性,我想将该属性添加到
array2
,并给出
0
的值

Array1=[“早餐”、“上午”、“午餐”、“下午”、“晚餐”]
阵列2=[
{
daypart:“晚餐”,
时间:10,,
},
{
日间部分:"下午",
时间:15,,
},
{
daypart:“午餐”,
时间:9,,
},
]
预期阵列=[
{daypart:“早餐”,时间:0},
{daypart:“AM”,时间:0},
{daypart:“午餐”,时间:9},
{daypart:“下午”,时间:15},
{daypart:“晚餐”,时间:10},
]

您可以使用
Array#map
Array#find

const Array1=[“早餐”、“上午”、“午餐”、“下午”、“晚餐”],
阵列2=[{
daypart:“晚餐”,
时间:10
},
{
日间部分:'下午',
时间:15
}, {
daypart:‘午餐’,
时间:9点
}];
const res=Array1.map(x=>Array2.find({daypart})=>daypart==x)
?{daypart:x,时间:0});
控制台日志(res)
您可以使用
Array#map
Array#find

const Array1=[“早餐”、“上午”、“午餐”、“下午”、“晚餐”],
阵列2=[{
daypart:“晚餐”,
时间:10
},
{
日间部分:'下午',
时间:15
}, {
daypart:‘午餐’,
时间:9点
}];
const res=Array1.map(x=>Array2.find({daypart})=>daypart==x)
?{daypart:x,时间:0});
控制台日志(res)试试这个:

const Array1=[“早餐”、“上午”、“午餐”、“下午”、“晚餐”];
常数数组2=[
{
daypart:“晚餐”,
时间:10
},
{
日间部分:'下午',
时间:15
},
{
daypart:‘午餐’,
时间:9点
}
];
const result=Array1.map(daypart=>
({daypart,time:0,…Array2.find(e=>e.daypart===daypart)})
);
控制台日志(结果)试试这个:

const Array1=[“早餐”、“上午”、“午餐”、“下午”、“晚餐”];
常数数组2=[
{
daypart:“晚餐”,
时间:10
},
{
日间部分:'下午',
时间:15
},
{
daypart:‘午餐’,
时间:9点
}
];
const result=Array1.map(daypart=>
({daypart,time:0,…Array2.find(e=>e.daypart===daypart)})
);
控制台日志(结果)我提议

const
数组1=[“早餐”、“上午”、“午餐”、“下午”、“晚餐”],
阵列2=
[{daypart:'晚餐',时间:10}
,{daypart:'PM',时间:15}
,{daypart:'午餐',时间:9}
],
expectedArray=Array1.map(daypart=>
{
设a2el=Array2.find(x=>x.daypart===daypart)
如果(!a2el)返回{daypart,时间:0}
否则返回{…a2el}//以制作副本
})
expectedArray.forEach(Ae=>console.log(JSON.stringify(Ae)))
.as控制台包装{最大高度:100%!重要;顶部:0;}
我建议

const
数组1=[“早餐”、“上午”、“午餐”、“下午”、“晚餐”],
阵列2=
[{daypart:'晚餐',时间:10}
,{daypart:'PM',时间:15}
,{daypart:'午餐',时间:9}
],
expectedArray=Array1.map(daypart=>
{
设a2el=Array2.find(x=>x.daypart===daypart)
如果(!a2el)返回{daypart,时间:0}
否则返回{…a2el}//以制作副本
})
expectedArray.forEach(Ae=>console.log(JSON.stringify(Ae)))

.as console wrapper{max height:100%!important;top:0;}
对于我来说,这个答案很糟糕,结果包含Array2个引用,而不是copies@MisterJojo这个问题有没有规定需要复制?@ MisterJojo没有必要考虑,除非有理由相信这是必要的。当然,这样做没有什么错(在大多数情况下),但它可能是多余的。对我来说,这个答案是不好的,结果包含了大量的引用,而不是copies@MisterJojo这个问题有没有规定需要复制?@ MisterJojo没有必要考虑,除非有理由相信这是必要的。当然,这样做没有什么错(在大多数情况下),但可能是多余的。