const ids = meetingDetaildata.data.map(e => e.id);
meetingDetailIndex++
data.agendaList.filter( v=> !ids.includes(v.id)).forEach( (dataNew) =>{
meetingDetaildata.data.push({
id: dataNew.id,
subType: dataNew.subType,
content: dataNew.contentValue,
title: dataNew.titleValue,
levelValue: dataNew.levelValue,
indexValue: dataNew.indexValue
})
});
这段代码主要进行了以下几个操作:
-
const ids = meetingDetaildata.data.map(e => e.id);
这行代码将meetingDetaildata.data数组中的每个元素(设为e)映射为e.id,并将结果存储在ids数组中。简单来说,它生成了包含原数组所有 id 的新数组。 -
meetingDetailIndex++
这将meetingDetailIndex的值加1,这可能是为了移动到meetingDetaildata.data数组中的下一个元素。 -
data.agendaList.filter( v=> !ids.includes(v.id)).forEach( (dataNew) =>{}
这行代码首先对data.agendaList数组中的每个元素执行一个过滤(filter)操作。如果该元素的id不包含在之前创建的ids数组中,那这个元素就会通过过滤。
通过过滤的元素就会进入forEach循环。 -
在
forEach循环中,每个通过过滤的元素(dataNew)都被添加到meetingDetaildata.data数组的末尾。每个新添加的元素是一个包含id,subType,content,titleValue,levelValue和indexValue字段的对象,每个字段的值都是从相应的dataNew字段获取的。
所以,简单来说,这段代码检查data.agendaList中的每一项,如果其id不包含在meetingDetaildata.data的id列表中,那么就把这一项添加到meetingDetaildata.data。