1

发布时间 2023-09-13 08:49:10作者: 小张的开发笔记

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
})
});

这段代码主要进行了以下几个操作:

  1. const ids = meetingDetaildata.data.map(e => e.id);
    这行代码将meetingDetaildata.data数组中的每个元素(设为e)映射为e.id,并将结果存储在ids数组中。简单来说,它生成了包含原数组所有 id 的新数组。

  2. meetingDetailIndex++
    这将meetingDetailIndex的值加1,这可能是为了移动到meetingDetaildata.data数组中的下一个元素。

  3. data.agendaList.filter( v=> !ids.includes(v.id)).forEach( (dataNew) =>{}
    这行代码首先对data.agendaList数组中的每个元素执行一个过滤(filter)操作。如果该元素的id不包含在之前创建的ids数组中,那这个元素就会通过过滤。
    通过过滤的元素就会进入forEach循环。

  4. forEach循环中,每个通过过滤的元素(dataNew)都被添加到meetingDetaildata.data数组的末尾。每个新添加的元素是一个包含idsubTypecontenttitleValuelevelValueindexValue字段的对象,每个字段的值都是从相应的dataNew字段获取的。

所以,简单来说,这段代码检查data.agendaList中的每一项,如果其id不包含在meetingDetaildata.dataid列表中,那么就把这一项添加到meetingDetaildata.data