我希望得到indexOf
所有正在出现的字符。
例如,我有一个变量a
var a = "aabaaababaa";
我希望获得indexOf
a
我试过了:
for(i = 0; i < a.length ;i++){
var len = a.indexOf(a);
console.log(len);
}
但它仅为第一个字符返回indexOf
。
答案 0 :(得分:3)
你可以像这样做一个循环,索引将包含所有索引。
wb.Close();
app.Quit();
System.Diagnostics.Process[] process = System.Diagnostics.Process.GetProcessesByName("Excel");
foreach (System.Diagnostics.Process p in process)
{
if (!string.IsNullOrEmpty(p.ProcessName) && p.StartTime.AddSeconds(+10) > DateTime.Now)
{
try
{
p.Kill();
}
catch { }
}
}
答案 1 :(得分:2)
查看indexOf
(specification link,MDN link)的第二个参数。第二个参数是开始查找的索引。因此,使用一个循环中的值加一,作为下一次搜索的起点。另外,查找字符串 a
,而不是在第一个参数处使用变量a
(例如,将a
放在引号中):
var a = "aabaaababaa";
var index = -1;
while ((index = a.indexOf('a', index + 1)) != -1) {
snippet.log(index);
}
<!-- Script provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>
如果您查找更长的字符串,取决于您是否要在后续循环中匹配 字符串中的,您可以每次添加1(如上所述)或添加您的长度正在寻找。
答案 2 :(得分:1)
使用var len = a.indexOf(a);你正在寻找变量的索引,所以在这种情况下它总是返回0,因为你正在寻找这个变量中var的第一个索引。
如果你有类似的东西:var c =&#34; dfaabaaababaa&#34;,你使用var len = c.indexOf(a);它会返回2。
所以,你必须明星寻找其他索引,如:var len = a.indexOf(a,2)(在这种情况下,它会返回-1,因为没有巧合)或你必须寻找它另一个变量,包含您要查找的变量。
另一个可能的错误(我不知道你想要哪个结果),就是你想要寻找角色&#39; a&#39;。在这种情况下,您需要:
var len = [];
for(i = 0; i
答案 3 :(得分:0)
你可以做到
for(i = 0; i < a.length ;i++){
var len = a.indexOf(a[i], i);
console.log(len);
}
a是一个数组。你必须做[i]访问一个字符