1.现在有个数组对象arr1,想根据里面的value去获取另外一个数组对象arr2里面的key键值对重新组成一个新的数组对象arr3。
arr1:[ {label: '告警详细描述', value: '告警详细描述', state: true, id: 88}]
arr2:[ { "alarmId": 112301, "告警详细描述": "测试告警" ,"告警等级": 1},
{ "alarmId": 112302, "告警详细描述": "测试告警1" ,"告警等级": 1},
{ "alarmId": 112303, "告警详细描述": "测试告2警" ,"告警等级": 1}]
想要得到的
arr3:[{ "告警详细描述": "测试告警" },{"告警详细描述": "测试告警1" },{"告警详细描述": "测试告2警}"]
arr1.forEach((item: any) => {
key = item.label
arr2.map((i: any) => {
arr3.push(Object.assign({}, { [key]: i[key] }))
})
})
2.数组对象arr1中的值去筛选数组对象arr2中的键值对,加入到arr3
arr1:[ {label: '告警详细描述', value: '告警详细描述', state: true, id: 88},
{label: '告警等级', value: '告警等级', state: true, id: 98}]
arr2:[ { "alarmId": 112301, "告警详细描述": "测试告警" ,"告警等级": 1},
{ "alarmId": 112302, "告警详细描述": "测试告警1" ,"告警等级": 1},
{ "alarmId": 112303, "告警详细描述": "测试告2警" ,"告警等级": 1}]
在上方arr3里面继续添加键值对,变成
arr3:[{ "alarmId": 112301, "告警详细描述": "测试告警" },{"alarmId": 112302, "告警详细描述": "测试告警1" },{"alarmId": 112303, "告警详细描述": "测试告2警"}]
for (let i = 0; i < arr1.length - 1; i++) {
let key =arr1[i + 1].label
arr2.map((i: any, index: any) => {
Object.assign(
arr3[index],
Object.assign({}, { [key]: i[key] })
)
})
}
3.寻找数组对象arr1是否存在某个对象arr2 ,有就把它删掉
arr1:[ {label: '告警详细描述', value: '告警详细描述', state: true, id: 88},
{label: '告警等级', value: '告警等级', state: true, id: 98}]
arr2:{{label: '告警详细描述', value: '告警详细描述', state: true, id: 88}}
let index = arr1.indexOf(arr2)
if (index > -1) {
arr1.splice(index, 1)
}
4.在数组对象arr1中删除某个键值对
arr1:[{ "alarmId": 112301, "告警详细描述": "测试告警" },{"alarmId": 112302, "告警详细描述": "测试告警1" },{"alarmId": 112303, "告警详细描述": "测试告2警"}]
arr2:{{label: '告警详细描述', value: '告警详细描述', state: true, id: 88}}
使得arr1变成
arr1:[{ "alarmId": 112301 },{"alarmId": 112302, },{"alarmId": 112303}]
arr1.map((item: any) => {
delete item[arr2.label]
})