我有一个如下数组
[1,2,'b',4 ,'a','b',5,'o',7,1,3,'p',9,'p']
我想检查上面的数组是否在序列[1,2,3]
中有三个连续的数字。
从上面的数组中,我希望输出如下所示
[7,1,3]
->由于此序列是按序列进行的,因此不会被字母阻塞。
答案 0 :(得分:1)
您可以采用一个临时数组,并用找到的数字填充它。对于找不到的任何数字,清空数组,然后检查长度。如果它具有所需的长度,则将数组推入结果集。
var array = [1, 2, 'b', 4, 'a', 'b', 5, 'o', 7, 1, 3, 'p', 9, 'p'],
three = array.reduce((temp => (r, v) => {
if (typeof v !== 'number') {
temp = [];
return r;
}
temp.push(v);
if (temp.length === 3) {
r.push(temp);
}
return r;
})([]), []);
console.log(three);
答案 1 :(得分:0)
这是一种执行此操作的方法。只需遍历数组和secondpage_parser.find("a", {"data-track-id":"Google Map"})['href']
个数字出现的次数即可。一旦计数变为3,您便拥有了魔数,否则将全部重置。正如@Rup所建议的。
count