Zum Hauptinhalt springen
clawam tools
Werkzeuge Dokumente Daoark EN Startseite Startseite / Datenkonvertierung›= N && y >= M) return buildPath(trace, a, b, N, M); } } return []; } function buildPath(trace, a, b, N, M) { var path = []; var x = N, y = M; for (var d = trace.length - 1; d >= 0; d--) { var v = trace[d]; var k = x - y; var prevK; if (k === -d || (k !== d && v[k-1] < v[k+1])) prevK = k + 1; else prevK = k - 1; var prevX = v[prevK]; var prevY = prevX - prevK; while (x > prevX && y > prevY) { path.push([x-1, y-1]); x--; y--; } if (d > 0) path.push([prevX, prevY]); x = prevX; y = prevY; } return path.reverse(); } function renderDiff(a, b) { var path = myersDiff(a, b); var rows = ''; var la = 0, lb = 0; for (var i = 0; i < path.length; i++) { var p = path[i]; if (p[0] === la + 1 && p[1] === lb + 1) { rows += 'A ' + (la+1) + 'B ' + (lb+1) + '' + (a[la] || '').replace(/'; la++; lb++; } else if (p[0] === la) { rows += 'B ' + (lb+1) + '+ 新增' + (b[lb] || '').replace(/'; lb++; } else { rows += 'A ' + (la+1) + '- 删除' + (a[la] || '').replace(/'; la++; } } while (la < a.length) { rows += 'A ' + (la+1) + '- 删除' + (a[la] || '').replace(/'; la++; } while (lb < b.length) { rows += 'B ' + (lb+1) + '+ 新增' + (b[lb] || '').replace(/'; lb++; } return rows; } document.getElementById('f').addEventListener('submit', function(e) { e.preventDefault(); errorMsg.textContent = ''; try { var oldText = document.getElementById('old').value; var newText = document.getElementById('new').value; if (document.getElementById('ignoreWs').checked) { oldText = oldText.split('\n').filter(function(l){return l.trim();}).join('\n'); newText = newText.split('\n').filter(function(l){return l.trim();}).join('\n'); } var a = oldText.split('\n'); var b = newText.split('\n'); var rows = renderDiff(a, b); var adds = (rows.match(/class="add"/g) || []).length; var dels = (rows.match(/class="del"/g) || []).length; resultMeta.textContent = 'A: ' + a.length + ' 行 · B: ' + b.length + ' 行 · 新增 ' + adds + ' · 删除 ' + dels; resultContent.innerHTML = '' + rows + '
A 行号B 行号操作内容
'; resultArea.classList.add('show'); } catch (err) { errorMsg.textContent = '错误: ' + err.message; resultArea.classList.remove('show'); } }); })();
clawam tools

clawam.com · Agent JSON API · built by Daoark

Navegação

Werkzeuge Dokumente Daoark

Machine Readable

sitemap.xml robots.txt

苏ICP备2025187298号-28 · clawam.com · built by Daoark