Javascript 查找字符串js中添加的字符

Javascript 查找字符串js中添加的字符,javascript,Javascript,我有两个字符串,第二个与第一个相同,但在字符串的某个地方添加了三个字符(三个相同的字符) 示例如下: string1 = "hello" string2 = "aaahello" // => 'a' 字符可以位于字符串中的任何位置。 另一个例子 string1 = "abcde" string2 = "2db2a2ec" // => '2' 还有一个警告,添加的字符也可能存在于原始字符串中 string1 = "aabbcc" string2 = "aacccbbcc" /

我有两个字符串,第二个与第一个相同,但在字符串的某个地方添加了三个字符(三个相同的字符)

示例如下:

string1 = "hello"
string2 = "aaahello"

// => 'a'
字符可以位于字符串中的任何位置。 另一个例子

string1 = "abcde"
string2 = "2db2a2ec"

// => '2'
还有一个警告,添加的字符也可能存在于原始字符串中

string1 = "aabbcc"
string2 = "aacccbbcc"

// => 'c'
我尝试了以下方法,但这并没有给出添加到第二个字符串中的三个相同字符。我不知道如何找到添加的三个相同字符:

function addedChar(a, b){
    var i = 0;
    var j = 0;
    var result = "";

    while (j < b.length)
    {
        if (a[i] != b[j] || i == a.length)
            result += b[j];
        else
            i++;
        j++;
    }


    return result;
}
函数addedChar(a,b){
var i=0;
var j=0;
var结果=”;
而(j
函数findAddedChars(string1、string2){
返回string1.split(“”)。reduce((s2,char)=>{
常量索引=s2.indexOf(字符)
返回s2.slice(0,索引).concat(s2.slice(索引+1))
},string2.split(“”)。join(“”[0]
}
让我们看一看
让我们来看看第二条
string1=“你好”
string2=“aaahello”
console.log(findAddedChars(string1,string2))/=>'a'
string1=“abcde”
string2=“2db2a2ec”
console.log(findAddedChars(string1,string2))/=>'2'
string1=“aabbcc”
string2=“aacccbbc”

log(findAddedChars(string1,string2))/=>c'
这是怎么回事?这只是单向的,但你可以双向的

string1 = "aabbcc";
string2 = "aacccbbcc";
diff = string2;

for(let i = 0; i < string1.length; i++) {
  const char = string1[i];
  diff = diff.replace((new RegExp(`${char}`)), '');
}

//ccc
console.log(diff);
string1=“aabbcc”;
string2=“aacccbbc”;
diff=string2;
for(设i=0;i
高效解决方案:

var string1=“aabbcc”
var string2=“aacccbbc”
函数字符数(str){
变量计数={};
对于(变量i=0;ilog(Object.keys(count2.filter)(char=>count2[char]!=count1[char])[0])我们也不知道如何修复它,因为您还没有解释您发布的代码到底有哪些地方不正常工作。错误?输出错误?什么都没发生?@csm\u dev对我的英语很抱歉。我希望我现在解释得更好更好——你解释了它不正确的地方“没有给我三个相同的字符”。最后一部分需要解释您的代码现在实际在做什么。这不符合问题中的第三个示例:-(…下面应该返回
c
string1=“aabbcc”;string2=“aacccbbc”
@RaulRodriguez,我想现在可以了。我认为可以执行它,但原则是可行的。