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

JavaScript09

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])

当然是0,因为你的数组内容是空的,一个元素都没有

数组的话

arr['h']

=

123;//这种赋值方法是不支持的,在JS中所谓的关联数组,其实是一个对象,模拟关联数组的

var

arr

=

{},//创建一个对象

len

=

0

arr["h"]

=

"hh"

arr["i"]

=

"gaj"

for(

var

i

in

arr)

{

len++

}

alert(len)

//只能这么做的

上面的做法相当于:

var

arr

=

{

'h'

:

'hh',

'i'

:

'gaj'

}

首先,你得弄清楚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>