【发布时间】:2020-10-22 22:38:27
【问题描述】:
我有两个有时具有匹配键的数组,我需要根据匹配字段(品牌/型号/年份)合并这些值,并根据每个数组对象具有的值标志进行相应设置(在这种情况下,要么 适合:B 或适合:R)
第一个数组看起来像这样,包含 fit B:
$firstArray = [
{ Model: Aston Martin, Make: V12, Year: 2012, fit: B, front_fit: 52, rear_fit: null}
]
这是第二个数组,它只包含适合的 R:
$secondArray = [
{ Model: Aston Martin, Make: V12, Year: 2012, fit: R, front_fit: null, rear_fit: 24}
]
请注意大多数值是相同的,除了 fit 以及基于该标志(B 或 R)的前或后匹配。理想情况下,我想将这两个合并到一个新数组中,该数组将删除 fit 并相应地填写 front_fit 和 back_fit 字段:
$mergedNewArray = [
{ Model: Aston Martin, Make: V12, Year: 2012, front_fit: 52, rear_fit: 24}
]
可能会发生第三种情况,其中一个数组中可能没有匹配的模型/品牌/年份对象,如果是这种情况,我仍然想在新数组中包含现有记录
所以它会变成这样:
$mergedNewArray = [
{ Model: Aston Martin, Make: V12, Year: 2012, front_fit: 52, rear_fit: 24},
//This has no matching object to merge with but should still be in this array
{ Model: Dodge, Make: Charger, Year: 2006, front_fit: null, rear_fit: 80}
]
任何帮助将不胜感激,越少越好
编辑:为包含特定拟合的第一个数组和第二个数组添加了说明
【问题讨论】: