Javascript 检查数组中是否有三个连续的数字

Javascript 检查数组中是否有三个连续的数字,javascript,arrays,regex,Javascript,Arrays,Regex,我有一个如下的数组 [1,2,'b',4,'a','b',5,'o',7,1,3,'p',9,'p'] 我想检查上面的数组是否在一个序列中有三个连续的数字(即)[1,2,3] 从上面的数组中,我希望输出如下面给出的示例所示 [7,1,3]->因为这个序列是在一个序列中发生的,没有被字母表阻止。这里有一种方法可以做到这一点。只需在数组上迭代,并对数值的出现次数进行计数。一旦计数变为3,你就拥有你的魔法数字,否则重置所有。正如@Rup所建议的那样 var-arr=[1,2,'b',4,'a','b

我有一个如下的数组

[1,2,'b',4,'a','b',5,'o',7,1,3,'p',9,'p']

我想检查上面的数组是否在一个序列中有三个连续的数字(即)
[1,2,3]

从上面的数组中,我希望输出如下面给出的示例所示


[7,1,3]
->因为这个序列是在一个序列中发生的,没有被字母表阻止。

这里有一种方法可以做到这一点。只需在数组上迭代,并对数值的出现次数进行计数。一旦计数变为3,你就拥有你的魔法数字,否则重置所有。正如@Rup所建议的那样

var-arr=[1,2,'b',4,'a','b',5,'o',7,1,3,'p',9,'p'];
var结果=[];
var计数=0;
arr.forEach(函数(元素){
if(元素类型)=“编号”){
计数+=1;
结果:推送(元素)
}否则{
如果(计数=3){
控制台日志(结果);
回来
}否则如果(计数<3){
计数=0;
结果=[];
}
}

});您可以获取一个临时数组并用找到的数字填充它。对于任何未找到的数字,请清空数组,然后检查长度。如果它具有所需的长度,则将数组推送到结果集

var数组=[1,2'b',4'a',b',5'o',7,1,3',p',9',p'],
三=数组。减少((温度=>(r,v)=>{
如果(v的类型!=='number'){
温度=[];
返回r;
}
温度推力(v);
如果(温度长度===3){
r、 推动(温度);
}
返回r;
})([]), []);

控制台日志(三个)确定,因此您需要在数组中循环,查看接下来的两个项目(如果可用),测试所有三个项目的类型,然后如果它们都是数字,则将结果切掉。您需要帮助哪些位?试着询问有关问题的问题,而不是这里的整个问题。@Rup,是的,确切地说,我尝试了一些函数,tht可以处理数组中的全部数字,上面的示例有数字与字符串的组合,所以当我想区分它们,只找到数字的三个连续出现时,数据中是否只有一个块,或者可能有多个连续数字块?那么你的问题是区分数字和字符串?您可以使用
typeof()
。你现在就可以自己解决这个问题了吗?很好用@manikant@AshwinS很高兴听到!这对尼娜很有帮助