gpt4 book ai didi

用于查找一个字符串中但不在另一个字符串中的字符的 JavaScript 过程

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:23:46 29 4
gpt4 key购买 nike

我一直在尝试写一个,但它变得越来越乱了!

假设我有两个字符串 textStarttextTarget,我想跟踪我需要在 textStart 中添加和删除的字符为了生产 textTarget

例如,如果 textStart = "dude"textTarget = "deck",那么字符需要添加的字符是 'c''k' 需要减去的字符是 'u''d' 之一。

我想我首先需要创建表示 textStarttextTarget 中每个字符的编号的映射。

所以我这样写:

    var startChars = {};
for (var k = 0, n = textStart.length; k < n; ++k)
{
if (textStart[k] in startChars)
++startChars[textStart[k]];
else
startChars[textStart[k]] = 1;
}
var targetChars = {};
for (var k = 0, n = textTarget.length; k < n; ++k)
{
if (textTarget[k] in startChars)
++targetChars[textTarget[k]];
else
map1[targetChars[k]] = 1;
}

哪个会给我

startChars['d']=2,startChars['u']=1,startChars['e']=1

targetChars['d']=1,targetChars['e']=1,targetChars['c']=1,targetChars['k']=1

然后我可以创建 map needAddedneedRemoved 来查看上面两个 map 的区别:

    var needAdded = {}; 
var needRemoved = {};

我不确定如何按预期填充这些 map ,因为我不知道如何使用 JavaScript 遍历 map 的键。我不知何故需要结束

needAdded['c']=1,needAdded['k']=1,needRemoved['u']=1,needRemoved['d']=1

这就是你们进来帮助我的地方。

我希望我已经很好地描述了我正在尝试做的事情以及到目前为止我是如何尝试去做的。我的编程直觉告诉我,我写的代码行太多,我需要咨询 StackOverflow 寻求帮助。没有 JQuery 或 Regex,有什么方法可以优雅地做到这一点?我知道有人会加入这个线程并编写一个单行 Regex 解决方案或类似的东西。

最佳答案

var s = 'dude',
t = 'deck',
finalOutput = '';
for (var i = 0; i < s.length; i++){
if ( typeof t[i] != 'undefined' ){
if ( s[i] != t[i] ){
console.log(s[i] + ' changed to ' + t[i]);
s[i] = t[i];
finalOutput += t[i];

} else{
finalOutput += s[i];
}
}
}
console.log('FINAL: ' + finalOutput);

关于用于查找一个字符串中但不在另一个字符串中的字符的 JavaScript 过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22645839/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com