我有以下工作代码。
indexMatches = [];
function getMatchIndexes(str, toMatch) {
var toMatchLength = toMatch.length,
match,
i = 0;
while ((match = str.indexOf(toMatch, i)) > -1) {
indexMatches.push(toMatch);
i = match + toMatchLength;
}
return indexMatches;
}
console.log(getMatchIndexes("this is code [table which has [table table [row and rows [table]", "[table"));
在这里小提琴:https://jsfiddle.net/vqqq1wj4/
但是我必须匹配2个字符串来搜索[table和[row并添加到索引。目前它只接受1个参数进行搜索。我尝试添加相同的OR运算符,但它不起作用。理想情况下,我应该编写以下代码
getMatchIndexes(str, "[table","[row");
它将根据它们的索引和位置正确返回下面的数组。
[ "[table", "[table", "[row", "[table" ]