// 处理表格数据
const formatTableData = (dataArr) => {
const seenIds = new Set(); // 用来记录已经出现过的baseId
// 处理重复id 并且将id设置为空
state.processedTableData = dataArr.map(item => {
if (seenIds.has(item.baseId)) {
return { ...item, baseId: '' }; // 如果baseId已经出现过,将baseId设为null
} else {
seenIds.add(item.baseId); // 添加baseId到seenIds集合中
}
return item;
});
// 去重 重复id的整条数据
// state.processedTableData = dataArr.filter(item => {
// if (!seenIds.has(item.baseId)) {
// seenIds.add(item.baseId)
// return true
// }
// return false;
// });
对象写法(1.返回去重后的数据,2.返回处理后的id数据)
1.const formatTableData = (dataArr) => {
const seenIds = {}; // 使用对象来记录已经出现过的baseId
state.processedTableData = dataArr.filter((item, index, arr) => {
if (!seenIds[item.baseId]) {
seenIds[item.baseId] = true; // 标记baseId已出现
return true; // 首次出现,保留该元素
}
return false; // baseId已出现,过滤掉此元素
});
}
2.const formatTableData = (dataArr) => {
const seenIds = {}; // 使用对象来记录已经出现过的baseId
state.processedTableData = dataArr.map((item, index, arr) => {
if (seenIds[item.baseId]) {
// 如果baseId已出现过,将baseId设为空字符串
return { ...item, baseId: '' };
} else {
// 首次出现,记录baseId,并保留该元素
seenIds[item.baseId] = true;
return item;
}
});
}