如何统计一个JS数组中奇数元素的个数呢?
这是群友提出的一个问题,大部分群友给出的是遍历 然后对2取模,得到最终结果。
这样的写法是最容易想得到的,那么有没有其他思路呢?
这里我提供另外一种思路,我们知道奇数其实就是以 1 3 5 7 9 作为末尾结尾的数字,那么只要统计这些数字出现的次数就够了,但是光这样统计容易误算,所以我们可以先用逗号拼接起来,连着逗号一起计算,由于js没有php那么方便的能用substr_count 函数统计字符串出现次数,所以我们直接采用正则替换,计算长度差得到个数,代码如下:
这种思路也是我突发奇想,感觉还是有些巧妙的,毕竟这道题虽然简单,可是假设这个数组非常庞大,那么其循环难度也就加大,而且每次都要取模运算,浪费了大量性能,毕竟偶数是不需要参与计算的,但是不参与计算又不知道其为偶数,所以这里直接采用替换,然后根据长度差计算即可知道到底有多少奇数!