gpt4 book ai didi

javascript - 我希望有人帮助我理解几行代码。有人可以帮我解释一下吗?谢谢

转载 作者:行者123 更新时间:2023-12-02 22:38:22 25 4
gpt4 key购买 nike

我正在 Codesignal 上做一个算法。

对于 s = "abacabad",输出应该是firstNotRepeatingCharacter(a) = 'c'

字符串中有 2 个不重复的字符:“c”和“d”。返回 c,因为它首先出现在字符串中。

对于 s = "abacabaabacaba",输出应为firstNotRepeatingCharacter(s) = '_'

该字符串中没有不重复的字符。

代码如下:

function firstNotRepeatingCharacter(a) {
let b = {};
let len = a.length;
for (let i = 0; i < len; i++) {
let tmp = a.charAt(i);
if (b[tmp]) {
b[tmp] += 1; //explain here
}
else {
b[tmp] = 1;
}
}

for (var prop in b) {
if (b[prop] == 1) { //explain here
return prop;
}
}
return '_';
}

最佳答案

实际上,上面的b是一个对象,其键是字符串中的不同字母,这些键的值是字符串中各个字母的计数。

key => letter
value => Count of that letter

tmp 将是您迭代过程中的字符。
if (b[tmp]) 检查该字母是否已添加到对象中。

  • 如果已经存在,请增加计数。
  • 否则将其设置为 1。

在第二个循环中if (b[prop] == 1)检查某个字母的计数是否为1。意味着它只在字符串中出现一次,因此返回该字母。

关于javascript - 我希望有人帮助我理解几行代码。有人可以帮我解释一下吗?谢谢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58667848/

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