javascript 获取数组元素个数

JavaScript010

javascript 获取数组元素个数,第1张

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

var t = [{value:'待料停'},{value:'运行'},{value:'其他停'},{value:'离线'},{value:'断纱停'},{value:'关机'},{value:'关机'}]

for(var i of t){

var count = 0

for(var j of t){

if(j.value === i.value){

count++

}

}

i.count = count

}

console.log(t)

嫌循环太麻烦,也可以这样简化:

var t = [{value:'待料停'},{value:'运行'},{value:'其他停'},{value:'离线'},{value:'断纱停'},{value:'关机'},{value:'关机'}]

var res = Array.from(t,item =>{

item.count = t.filter(j =>j.value === item.value).length

return item

})

console.log(res)

当然是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'

}