You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用JavaScript按值对比两个表格,标记差异并标注不存在项

表格数据对比需求

对比规则

  • 按值对比,标记出数值存在差异的项
  • 若某条记录在另一张表中不存在,则标注「不存在」

具体场景说明

第二张表中有两条人员信息的partNo、name一致但age不同,第一张表中仅有其中一条匹配的同信息记录,需要将第二张表中多出的那条记录标注为在第一张表中不存在,最终输出效果要和示例示意图一致。

现有实现代码

JS 代码

const firstArr = [
    { partNo: '1',name: 'Per', age: '35'},
    { partNo: '3',name: 'Tom', age: '27'},
    {partNo: '6', name: 'Alex',age: '18'}
]
const secondArr = [
    { partNo: '1', name: 'Per', age: '33'},
    { partNo: '3', name: 'Tom', age: '27'},
    { partNo: '6', name: 'Alex', age: '18'},
    { partNo: '6',  name: 'Alex', age: '22'}
]

let table1 = `<table><tr><th>PartNo</th><th>Name</th><th>Age</th></tr>`
let table2 = `<table><tr><th>PartNo</th><th>Name</th><th>Age</th></tr>`

for (let i = 0; i < firstArr.length; i++) {   
for (let j = 0; j < secondArr.length; j++) {
    table1 += `<tr><td>${firstArr[i].partNo}</td><td>${firstArr[i].name}</td><td>${firstArr[i].age}</td></tr>`
    table2 +=  `<tr><td>${secondArr[j].partNo}</td><td>${secondArr[j].name}</td><td>${secondArr[j].age}</td></tr>`
}
}
table1 += `</table>`
table2 += `</table>`
document.getElementById('firstTable').innerHTML = table1
document.getElementById('secondTable').innerHTML = table2

HTML 代码

<div style="display: flex;">
<div id="firstTable"></div>
<div>''''''''</div>
<div id="secondTable"></div>
</div>

内容的提问来源于stack exchange,提问作者raw

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.13 04:57:03