element plus和这种table合并的逻辑怎么写?-灵析社区

光光哥乌昂

const data = [ { "PatientName": "导管室光盘刻录", "sm": 5376.0, "ct": 216.0, "t": "微信", "total": 7186.0 }, { "PatientName": "导管室光盘刻录", "sm": 405.0, "ct": 16.0, "t": "支付宝", "total": 7186.0 }, { "PatientName": "导管室光盘刻录", "sm": 1405.0, "ct": 119.0, "t": "聚合付", "total": 7186.0 }, { "PatientName": "小儿内科(二)", "sm": 561.1, "ct": 133.0, "t": "微信", "total": 576.1 }, { "PatientName": "小儿内科(二)", "sm": 15.0, "ct": 9.0, "t": "支付宝", "total": 576.1 }, { "PatientName": "医疗服务(病历复印)", "sm": 12040.0, "ct": 888.0, "t": "支付宝", "total": 12040.0 }, { "PatientName": "医疗服务(营养科)", "sm": 4935.4, "ct": 80.0, "t": "支付宝", "total": 4935.4 }, { "PatientName": "医疗服务费(急诊))", "sm": 3203.6, "ct": 162.0, "t": "微信", "total": 3344.8 }, { "PatientName": "医疗服务费(急诊))", "sm": 141.2, "ct": 5.0, "t": "支付宝", "total": 3344.8 }, { "PatientName": "合计", "sm": 28082.3, "ct": 1628.0, "t": "", "total": 28082.3 } ]; const findAdjacentDuplicates = arr => { let results = []; // 用于存储结果的数组 for (let i = 0; i < arr.length - 1; i++) { // 遍历数组,直到倒数第二个元素 if (arr[i].PatientName === arr[i + 1].PatientName) { // 检查当前元素是否与下一个元素相同 let count = 1; // 至少有两个相同的元素 let start = i; // 记录起始位置 // 继续向后检查,直到找到不同的元素 while (i + 1 < arr.length && arr[i].PatientName === arr[i + 1].PatientName) { count++; i++; } // 将结果添加到数组中 results.push({ start: start, length: count }); } } return results; } console.log(findAdjacentDuplicates(data)) objectSpanMethod里面判断在不在范围内就行了

阅读量:1

点赞量:0

问AI