js统计数组元素出现的次数 简单易理解

JavaScript018

js统计数组元素出现的次数 简单易理解,第1张

你是求数组中某个元素出现的次数么?我写的只是某个元素出现次数。

function times(arr){

var m=0,times=0//m是数组中的元素,times用来统计出现的次数

// for循环遍历arr数组

for(var i=0i<arr.lengthi++){

if(arr[i]==m){

times++//数组中有相同值就加1

}

}

return times

console.log(times)//这是打印出的出现的次数

}

times([0, 1, 2, 0, 1, 2])

let arr = [3, 2, {a: 1}, 1, {a: 1}, 1]

function ana(arr) {

    let newArr = []

    let unique = []

    for (let i of arr) {

        i = JSON.stringify(i)

        //如果已有数值相同的元素存在

        if (unique.includes(i)) {

            newArr[unique.indexOf(i)].push(i)

        } else {

            let arr = []

            arr.push(i)

            unique.push(i)

            newArr.push(arr)

        }

    }

    return re(newArr)

}

首先,你得弄清楚js的”数组“和”对象“,

var a=["23333","hhhhh"]//数组,获取值的方式为“a[索引]”,如a[0]

var a={

    alpha:"6666",

    beta:"66666"

}//对象, 获取值的方式可以为 a.键名 或者 a["键名"] ,如:a.alpha或者a["alpha"]

估计你把对象和数组搞混了。

数组获取长度的方式为:a.length

对象获取长度的方式为:Object.getOwnPropertyNames(a).length

以下是对象获取长度的测试代码,测试地址:

http://www.w3school.com.cn/tiy/t.asp?f=jquery_manipulation_before_func

<html>

<head>

<script type="text/javascript" src="/jquery/jquery.js"></script>

<script type="text/javascript">

$(document).ready(function(){

  $("#btn1").click(function(){

    var a = {

        alpha:6666,

        beta:66666

    }

    alert(Object.getOwnPropertyNames(a).length)

  })

})

</script>

</head>

<body>

<button id="btn1">Show me</button>

</body>

</html>