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

时间:2017-07-04 10:30:30

标签: javascript indexof

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

Google Chrome Inspector的Console标签中没有错误。

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



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

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

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




2 个答案:

答案 0 :(得分:4)

你过早关闭提醒括号



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

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

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




答案 1 :(得分:1)

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

alert('indexOfFirstClosingBracket') + indexOfFirstClosingBracket;

这一行有一个错误。请注意'indexOfFirstClosingBracket'后有一个结束括号。将其从那里删除并将其放在声明的末尾。

alert('indexOfFirstClosingBracket' + indexOfFirstClosingBracket);

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