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