gpt4 book ai didi

javascript - 我不明白为什么这段代码在我的代码中以这种方式工作

转载 作者:行者123 更新时间:2023-11-30 19:24:40 25 4
gpt4 key购买 nike

我不确定 result[i] 是什么?我只是想了解为什么这段代码会这样使用?

function countChars(string, character) {
var result = string;
var count = 0;
var i = 0;
while ( i < string.length) {
if (result[i] === character) {
count = count + 1 ;
}

我猜这种方式可能行得通。

字符串[i]

result[i] 应该在那里的原因是什么?

function countChars(string, character) {
var result = string;
var count = 0;
var i = 0;
while ( i < string.length) {
if (result[i] === character) {
count = count + 1 ;
}
result.slice(0,1);
i++
}
return count;
}

console.log(
countChars("hello","h") // >> 1
)

最佳答案

它正在获取副本,因此原始字符串不会在可能具有破坏性的代码中被修改 - 在您的代码中,result.slice 不会修改结果,因此代码实际上不会更改结果并且该语句无用

这是可能发生的事情

  • 复印一份
  • 对副本进行切片并测试第一个字符

function countChars(string, character) {
var copy = string;
var count = 0;
while (copy.length) {
if (copy[0] === character) {
count++;
}
copy = copy.slice(1); // destructive
}
console.log("String:",string,"Copy:",copy); // copy empty here
return count;
}

console.log(
countChars("hello","h") // >> 1
)

关于javascript - 我不明白为什么这段代码在我的代码中以这种方式工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57051428/

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