JavaScript search()方法在两个方面等同于零,从而导致问题
JavaScript search() method equates to zero in two ways, leading to problems
如果您使用这样的代码:
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无法知道在零索引处移动的"nothing"answers"singlematchingchar'"之间的区别(因为这是一个单独的匹配字符),这迫使我将所有.json数据移动到一个空间上。
这感觉。。。做错事,喜欢不好好练习。这是一个解决方案,但似乎是一个蹩脚的解决方案。有人知道解决这种问题的办法吗?这似乎是一个非常简单的常见问题。有没有办法解决这个问题,也许是用正则表达式之类的?
请记住:始终,无论变量字符串(包括空字符串)的值是多少
string.search("") = 0
所以,请检查字符串的长度!
if (string.length == 0) // Empty string
var search = query.length === 0 ? -1 : string.search(query);
相关文章:
- 在指令控制器中使用$attrs时出现问题
- 将PHP变量传递给jQuery时遇到问题
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- 参数变量出现ngTable指令问题
- 剑道网格jQuery动画()问题
- 我的jQuery插件参数没有正确启动,遇到了问题
- Phonegap-(安卓/iphone)多个图像的图像库出现问题
- TableExport jquery插件:文件名和扩展名问题
- JavaScript Pub/Sub属性访问问题
- JavaScript异步问题
- 如何解决Yii中的页面刷新问题
- Safari(Mac OS)上的jQuery平滑滚动问题
- jqGrid树网格问题
- 使用正则表达式评估电子邮件地址时出现性能问题
- 如何消除代码中的未定义和其他问题
- JavaScript代码问题:我正在将对象转换为数组
- 三星智能电视应用程序;Brightcove示例应用程序远程控制问题
- 由于iframe导致的问题
- ReactJS和SpringDataRest缓存问题可能与websocket有关
- JavaScript search()方法在两个方面等同于零,从而导致问题