let str = '1234567';
let str2 = '1233567899ji';
let changes = [];
let result = '';
// 比较两个字符串的长度,取较短的字符串作为遍历的基准
const length = Math.min(str.length, str2.length);
// 检查每个字符是否有变化
for (let i = 0; i < length; i++) {
if (str[i] !== str2[i]) {
changes.push({
type: '修改',
oldValue: str[i],
newValue: str2[i],
position: i
});
}
}
// 检查是否有新增的字符
if (str.length < str2.length) {
for (let i = length; i < str2.length; i++) {
changes.push({
type: '新增',
value: str2[i],
position: i
});
}
}
// 回退修改的部分并合并结果
for (const change of changes) {
if (change.type === '修改') {
str = str.substring(0, change.position) + change.oldValue + str.substring(change.position + 1);
}
}
// 合并修改后的字符串与新增的部分
result = str + str2.substring(str.length);
console.log('合并后的字符串:', result); //合并后的字符串: 1234567899ji