gpt4 book ai didi

JavaScript search() 方法以两种方式等于零,导致问题

转载 作者:行者123 更新时间:2023-12-03 11:38:40 26 4
gpt4 key购买 nike

如果你采用这样的一段代码:

var string = "javascript"; 
var search = string.search("");
console.log(search);

然后你使用这段代码:

var string = "javascript"; 
var search = string.search("j");
console.log(search);

两段代码的计算结果均为 0。这相当烦人,因为我认为它应该等于 -1,因为没有匹配项,什么也没有。这是我尝试编写的脚本中的一个问题,因为即使它们不是相同的值,它们也会计算出完全相同的数字,这使我将 .json 文件中的所有数据从该位置移动一个空格:

      "heman",
"candy",
"powerpuffgirls",
"oranges"

对此:

      " heman",
" candy",
" powerpuffgirls",
" oranges"

因为当我测试用户输入到 .json 数据的输入字段中的匹配时,我无法评估数据是否为空或输入了一个匹配字符(因为 javascript 搜索方法将两者评估为相同)金额“0”)。 javascript 无法区分“无”和“单个匹配字符”在零索引处移动(因为它是单个匹配字符),这迫使我将所有 .json 数据移动到一个空格上。

这感觉...是错误的做法,就像不是好的做法。这是一个解决方案,但似乎是一个蹩脚的解决方案。有人知道类似问题的解决方法吗?看起来是一个非常简单的常见问题。有什么办法可以解决这个问题,也许是用正则表达式之类的吗?

最佳答案

记住这一点:始终,无论变量字符串的值是什么(包括空字符串)

string.search("") = 0 

所以,检查字符串的长度!

if (string.length == 0) // Empty string

关于JavaScript search() 方法以两种方式等于零,导致问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26369069/

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