【发布时间】:2022-11-26 21:57:35
【问题描述】:
我有一个包含键和值的数组,例如,
const array = [
{
DEVICE_SIZE: ['036', '048', '060', '070'],
},
{
DEVICE_VOLTAGE: ['1', '3'],
},
{
'NOT DEVICE_DISCHARGE_AIR': ['S'],
},
{
'NOT DEVICE_REFRIGERANT_CIRCUIT': ['H', 'C'],
},
];
由于其NOT 关键字,此处的键将对结果起主要作用。
我有每个键的原始对象数组,如以下数据,
const data = {
DEVICE_SIZE: [
{ id: 20, name: 'Size 20' },
{ id: 36, name: 'Size 36' },
{ id: 40, name: 'Size 40' },
{ id: 20, name: 'Size 48' },
{ id: 60, name: 'Size 60' },
{ id: 70, name: 'Size 70' },
],
DEVICE_VOLTAGE: [
{ id: 1, name: 'Voltage 1' },
{ id: 2, name: 'Voltage 2' },
{ id: 3, name: 'Voltage 3' },
{ id: 4, name: 'Voltage 4' },
{ id: 5, name: 'Voltage 5' },
],
DEVICE_DISCHARGE_AIR: [
{ id: 'E', name: 'Discharge E' },
{ id: 'S', name: 'Discharge S' },
{ id: 'T', name: 'Discharge T' },
],
DEVICE_REFRIGERANT_CIRCUIT: [
{ id: 'C', name: 'Refrigerant C' },
{ id: 'E', name: 'Refrigerant E' },
{ id: 'H', name: 'Refrigerant H' },
{ id: 'M', name: 'Refrigerant M' },
],
};
详细要求:
这里对于前两个值DEVICE_SIZE和DEVICE_VOLTAGE是正例,而对于'NOT DEVICE_DISCHARGE_AIR'和'NOT DEVICE_REFRIGERANT_CIRCUIT'它有关键字不是.
我需要过滤上面所有给定的数组并结合正负结果,例如,
没有 NOT在关键:
例如,
DEVICE_SIZE: ['036', '048', '060', '070']是正数(没有 NOT 关键字),所以我 需要在DEVICE_SIZE下获取有效 ID,即DEVICE_SIZE: [36, 48, 60, 70]没有在关键:
例如,
'NOT DEVICE_DISCHARGE_AIR': ['S']是负数,所以我 需要获得有效的身份证件以外DEVICE_DISCHARGE_AIR下的值S是["E", "T"]如果有一个不是对象中的关键字,然后在映射相应的对象数组时,我需要忽略特定值并给出其他结果。
预期输出:
最终预期的有效对象是,
const valid = { DEVICE_SIZE: [36, 48, 60, 70], DEVICE_VOLTAGE: [1, 3], DEVICE_DISCHARGE: ["E", "T"], DEVICE_REFRIGERANT_CIRCUIT: ["E", "M"], };
【问题讨论】:
标签: javascript reactjs arrays