Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript indexOf()从字符串中查找一个字符的索引,而不是另一个字符的索引。为什么?_Javascript_Indexof - Fatal编程技术网

Javascript indexOf()从字符串中查找一个字符的索引,而不是另一个字符的索引。为什么?

Javascript indexOf()从字符串中查找一个字符的索引,而不是另一个字符的索引。为什么?,javascript,indexof,Javascript,Indexof,我试图使用JavascriptindexOf()函数来查找两个字符的索引位置,即[和]在字符串中。但它显示了奇怪的行为,即它查找左括号的索引[,但返回空字符串作为]的索引 Google Chrome Inspector的控制台选项卡中没有错误 这就是问题所在。为什么会发生这种情况?我应该如何解决 var string='allpeopleArray[0][peopleNameInput]; var indexoffirstopennigbracket=string.indexOf('[');

我试图使用Javascript
indexOf()
函数来查找两个字符的索引位置,即<代码>[和
]
在字符串中。但它显示了奇怪的行为,即它查找左括号的索引
[
,但返回空字符串作为
]
的索引

Google Chrome Inspector的
控制台
选项卡中没有错误

这就是问题所在。为什么会发生这种情况?我应该如何解决

var string='allpeopleArray[0][peopleNameInput];
var indexoffirstopennigbracket=string.indexOf('[');
警报('IndexOffirstopenningBracket:'+IndexOffirstopenningBracket);//检查
var indexOfFirstClosingBracket=string.indexOf(']');

警报('INDEXOFFIRSTCLOSIGBRACKET')+INDEXOFFIRSTCLOSIGBRACKET//选中
您过早地关闭了警报括号

var string='allpeopleArray[0][peopleNameInput];
var indexoffirstopennigbracket=string.indexOf('[');
警报('IndexOffirstopenningBracket:'+IndexOffirstopenningBracket);//检查
var indexOfFirstClosingBracket=string.indexOf(']');

警报(“indexOfFirstClosingBracket”+indexOfFirstClosingBracket)//选中
您过早地关闭了警报括号

var string='allpeopleArray[0][peopleNameInput];
var indexoffirstopennigbracket=string.indexOf('[');
警报('IndexOffirstopenningBracket:'+IndexOffirstopenningBracket);//检查
var indexOfFirstClosingBracket=string.indexOf(']');

警报(“indexOfFirstClosingBracket”+indexOfFirstClosingBracket)//检查一下
@Ebrahim Poursadeqi的答案绝对正确。我只是解释一下

alert('indexOfFirstClosingBracket') + indexOfFirstClosingBracket;
这行有个错误。请注意,
'indexOfFirstClosingBracket'
后面有一个右括号。从那里删除它,并将其放在语句末尾

alert('indexOfFirstClosingBracket' + indexOfFirstClosingBracket);

程序将按预期工作。希望这对你有用。

@Ebrahim Poursadeqi的答案绝对正确。我只是解释一下

alert('indexOfFirstClosingBracket') + indexOfFirstClosingBracket;
这行有个错误。请注意,
'indexOfFirstClosingBracket'
后面有一个右括号。从那里删除它,并将其放在语句末尾

alert('indexOfFirstClosingBracket' + indexOfFirstClosingBracket);

程序将按预期工作。希望这对您有用。

您的警告是错误的。您应该将变量放在log函数中。Typo
alert('indexOfFirstClosingBracket'+indexOfFirstClosingBracket')//检查
在第二个警报中这样更改`第一个注释和第一个答案都是正确的。对于将来的调试,作为您自己,
indexOf
可以返回什么?它要么返回索引(数字>=0),要么在未找到任何内容的情况下返回
-1
。但是,它永远不会返回空字符串之类的内容。因此,你知道错误在其他地方。你是警惕的,是错误的。您应该将变量放在log函数中。Typo
alert('indexOfFirstClosingBracket'+indexOfFirstClosingBracket')//检查
在第二个警报中这样更改`第一个注释和第一个答案都是正确的。对于将来的调试,作为您自己,
indexOf
可以返回什么?它要么返回索引(数字>=0),要么在未找到任何内容的情况下返回
-1
。但是,它永远不会返回空字符串之类的内容。因此,您知道错误在其他地方。