如何统计一个JS数组中奇数元素的个数呢?

这是群友提出的一个问题,大部分群友给出的是遍历 然后对2取模,得到最终结果。

这样的写法是最容易想得到的,那么有没有其他思路呢?

这里我提供另外一种思路,我们知道奇数其实就是以 1 3 5 7 9 作为末尾结尾的数字,那么只要统计这些数字出现的次数就够了,但是光这样统计容易误算,所以我们可以先用逗号拼接起来,连着逗号一起计算,由于js没有php那么方便的能用substr_count 函数统计字符串出现次数,所以我们直接采用正则替换,计算长度差得到个数,代码如下:

这种思路也是我突发奇想,感觉还是有些巧妙的,毕竟这道题虽然简单,可是假设这个数组非常庞大,那么其循环难度也就加大,而且每次都要取模运算,浪费了大量性能,毕竟偶数是不需要参与计算的,但是不参与计算又不知道其为偶数,所以这里直接采用替换,然后根据长度差计算即可知道到底有多少奇数!

统计js数组中奇数元素的个数的更多相关文章

  1. [JavaScript] 获取数组中相同元素的个数

    /** * 获取数组中相同元素的个数 * @param val 相同的元素 * @param arr 传入数组 */ function getSameNum(val,arr){ processArr ...

  2. 统计numpy数组中每个值的个数

    import numpy as np from collections import Counter data = np.array([1.1,2,3,4,4,5]) Counter(data) #简 ...

  3. LeetCode - 统计数组中的元素

    1. 统计数组中元素总结 1.1 统计元素出现的次数 为了统计元素出现的次数,我们肯定需要一个map来记录每个数组以及对应数字出现的频次.这里map的选择比较有讲究: 如果数据的范围有限制,如:只有小 ...

  4. 统计numpy数组中每个值出现的个数

    统计numpy数组中某一个值或某几个值出现的个数:sum(data==4) # 统计出现了几个cluster include0Cluster = sum(res == 0) include1Clust ...

  5. js 删除 数组中某个元素(转载)

    来源:https://www.jb51.net/article/134312.htm js删除数组中某一项或几项的几种方法 https://www.jb51.net/article/154737.ht ...

  6. js向一个数组中插入元素的几个方法-性能比较

    向一个数组中插入元素是平时很常见的一件事情.你可以使用push在数组尾部插入元素,可以用unshift在数组头部插入元素,也可以用splice在数组中间插入元素. 但是这些已知的方法,并不意味着没有更 ...

  7. js计算数组中每个元素出现的次数

    计算数组中每个元素出现的次数 var names = ['Alice', 'Bob', 'Tiff', 'Bruce', 'Alice']; var countedNames = names.redu ...

  8. 为什么改了JS数组中的一个元素的值,其他数组元素值都跟着变了

    原因: 数组是引用类型,数组变量存储在栈,元素数据存储在堆中,将数组赋值不同的对象,所以的赋值对象都指向堆同一个数据,所以改变其中一个数组中的元素,别的数组元素也会改变. 解决方案: 原理就是先把数组 ...

  9. JS对象 数组排序sort() sort()方法使数组中的元素按照一定的顺序排列。 语法: arrayObject.sort(方法函数)

    数组排序sort() sort()方法使数组中的元素按照一定的顺序排列. 语法: arrayObject.sort(方法函数) 参数说明: 1.如果不指定<方法函数>,则按unicode码 ...

随机推荐

  1. SpringBoot2 添加应用拦截器

    项目参考:详细参见:<Spring Boot 2精髓:从构建小系统到架构分布式大系统> 第三章 3.6.1节 拦截器 MyWebMvcConfigurer package com.arch ...

  2. ubuntu配置JDK

    1.下载JDK jdk-8u151-linux-x64.tar.gz 2.1.解压压缩包 tar -xzvf jdk-8u151-linux-x64.tar.gz 2.2.编辑~/.bashrc ex ...

  3. this inspection reports usage of the default file template for file header

    使用idea创建一个java class的时候会出现如下的warning: this inspection reports usage of the default file template for ...

  4. 小程序的tab标签实现效果

    swiper制作tab切换 index.html ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <view class="swiper-tab&qu ...

  5. In R, how to split/subset a data frame by factors in one column?

    按照某列的值拆分data.frame My data is like this (for example): ID Rate State 1 24 AL 2 35 MN 3 46 FL 4 34 AL ...

  6. 两个有序单链表合并成一个有序单链表的java实现

    仅作为备注, 便于自己回顾. import java.util.Arrays; public class MergeSort { public static class LinkedNode<V ...

  7. savReaderWriter 模块的使用

    作用: 由于python可以辅助数据分析和数据挖掘,读取文件, 而savReaderWriter模块就是为此而设计. 官网 :http://pythonhosted.org/savReaderWrit ...

  8. BitSet 是个好东西

    顾名思义,就是位集合(bit set),是从JDK 1.0就出现的东西,后面的版本又慢慢强化. 我们说学习一样东西,最好是场景驱动 - 要考虑它的使用场景,这样才有意义. 那么,BitSet的应用场景 ...

  9. HTML5游戏中动画帧的概念理解

    最近在弄一个HTML5游戏,在学习过程中,总结出这个帧结构. HTML5游戏最重要也就是对帧的理解. 容器:Canvas 一个画布 sprite:一个canvas上有多个动画,每个动画对象就是一个An ...

  10. Eclipse初次java开发问题总结-3

    上篇中提到解决的一个问题是mysql驱动报的: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link ...