如何在javascript中查找数组中第一次出现的条件(在我的例子中为>;0)的索引

如何在javascript中查找数组中第一次出现的条件(在我的例子中为>;0)的索引,javascript,Javascript,都在标题里。我尝试了太多我都数不清的东西。我的目标是计算在numArr中第一次出现大于0的数字之前有多少个0,这样我可以在以后的代码中使用它。我真的不知道如何正确地做到这一点 到目前为止,我的代码是: 函数递增字符串(strng){ //循环通过拆分的数组 设newArr=strng.split(“”); 设numArr=[]; 让lettersArr=[]; for(设i=0;i数字(字符)>0); 控制台日志(索引)您可以使用正则表达式查找字符'1''9' 函数findNumber(字符

都在标题里。我尝试了太多我都数不清的东西。我的目标是计算在
numArr
中第一次出现大于0的数字之前有多少个0,这样我可以在以后的代码中使用它。我真的不知道如何正确地做到这一点

到目前为止,我的代码是:

函数递增字符串(strng){
//循环通过拆分的数组
设newArr=strng.split(“”);
设numArr=[];
让lettersArr=[];
for(设i=0;i递增字符串('foobar0100')您可以首先将字符串转换为字符数组(可以使用),然后使用查找满足条件的第一个字符的索引:

const text='foobar0100';
常量索引=[…文本].findIndex((字符)=>数字(字符)>0);
控制台日志(索引)
您可以使用正则表达式查找字符
'1'
<代码>'9'

函数findNumber(字符串){
返回数组.from(string).findIndex(s=>/[1-9]/.test));
}

console.log(findNumber('foobar0100'))这将适用于所有浏览器,并且没有奇怪的语法-假设我正确理解了您的问题

var incrementedString='foobar0100'。替换(/[1-9]/,函数(num,pos,string){
返回(++num);
});

log(incrementedString)
这让我想起了基于您将函数命名为“incrementString”的事实,最终目标是什么?你想得到
foobar0101
?标题是“如何找到第一次出现的条件的索引(>0在我的情况下)”,但正文是“我的目标是计算在你的
递增字符串('foobar9')中一个大于0的数字第一次出现之前有多少0”
,预期结果是否为
'foobar10'
?我可以看出这是有问题的。还有一个有趣的注意事项是,
[…text].findIndex(Number)
在功能上是等效的,因为
字母
始终是单个字符。但我不会把它改成那样,因为这更具可读性,并且清楚地表明了它的意图。