如何解决我的 indexOf 一直在同一位置找到字符我该如何解决?
for(let j=0; j<=z;j++)
{
if( text[i+1].indexOf(y[j]) > -1 )
{
con++;
temp = (text[i+1].indexOf(y[j]));
text[i+1].substring(temp);
console.log(text[i+1].indexOf(y[j]))
每当数组 y
的字母在 text[i+1]
的字符串中时,这是代码计数,但不是遍历整个单词以找到其他位置的字母,而是停留在第一个位置发现。
示例:
text[i+1] = 'debefeene'
y = ['e','e','e']
// My expected output would be:
1
3
5
6
8
// The actual output is:
1
1
1
1
我尝试使用子字符串,但没有真正起作用。
z 等于字符串 text[i+1]
的长度解决方法
我不明白你尝试了什么。这就是为什么我不知道你的代码有什么问题。看看我的解决方案。这是不言自明的。第二个“如果”不是必需的。如果没有任何要搜索的项目,我只是添加了它来停止循环。
let text = "debefeene"
let find = ['e','e','e'];
let positions = [];
for(let i = 0; i < text.length; i++) {
if (text[i] == find[0]) {
positions.push(i);
find.pop();
}
if (!find.length) break;
}
console.log(positions);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。