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

Javascript indexOf() finds the index of one character, but not that of another character, from a string. Why?

我正在尝试使用 Javascript indexOf() 函数来查找两个字符的索引位置,即。 [] 在一个字符串中。但它表现出奇怪的行为,即它找到左括号 [ 的索引,但 returns 空字符串作为 ].

的索引

Google Chrome 检查器的 Console 选项卡中没有错误。

原来是这个问题。为什么会发生这种情况,我该如何解决?

var string = 'allPeoplesArray[0][peopleNameInput]';

var indexOfFirstOpeningBracket = string.indexOf('[');
alert('indexOfFirstOpeningBracket: ' + indexOfFirstOpeningBracket);//check

var indexOfFirstClosingBracket = string.indexOf(']');
alert('indexOfFirstClosingBracket') + indexOfFirstClosingBracket;//check

你关闭警报括号的时间过早

var string = 'allPeoplesArray[0][peopleNameInput]';

var indexOfFirstOpeningBracket = string.indexOf('[');
alert('indexOfFirstOpeningBracket: ' + indexOfFirstOpeningBracket);//check

var indexOfFirstClosingBracket = string.indexOf(']');
alert('indexOfFirstClosingBracket' + indexOfFirstClosingBracket);//check

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

alert('indexOfFirstClosingBracket') + indexOfFirstClosingBracket;

这一行有错误。请注意 'indexOfFirstClosingBracket' 之后有一个右括号。从那里删除它并将其放在语句的末尾。

alert('indexOfFirstClosingBracket' + indexOfFirstClosingBracket);

程序将按预期运行。希望这对你有用。