码迷,mamicode.com
首页 > 编程语言 > 详细

数组一些细节

时间:2016-03-02 10:57:08      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:

1.数组是特殊的对象,使用方括号访问数组元素就像用方括号访问对象的属性一样,JS将指定的数字索引值转换为字符串(例如 1 变为 ‘1’);来当做属性名来使用。

2.索引值是 0 ~ 2的32次方-2之间的整数。

3.(1)可以用负数或非整数来索引数组,这时,数值转换为字符串,字符串作为属性名来使用。

   (2)如果使用非负整数的字符串,他被当做数组索引,而不是对象属性。

 (3)当使用一个浮点数和一个非负整数相等,该浮点数被当做数组索引。

  

a[-1.23] = true; // 创建一个名为‘-1.23’的属性
a[‘1000‘] = 0; // 这是数组的第1001个元素
a[1.000]  // 和a[1]相等 

4.拥有length属性值的有:数组,类数组,字符串,函数

  (1). 数组的length值代表数组的长度,若为非稀疏数组,则代表数组的元素个数。类数组类似数组。

  (2). 字符串的length值代表字符串的长度。

  (3). 函数的length值代表函数形参的个数。(注意不是实际传入的数目,而是函数定义时设置的形参数目)

 有关数组length修改的一些注意:

  (1)当用push或其他方式向数组添加新元素,length值自动加1.

  (2)当设置length值为一个小于当前长度的非负整数n时,当前数组中那些索引值大于或等于n的元素将被删除。

  (3) 当设置length值为一个大于当前长度的非负整数时,将会在尾部创建空区域,但并不添加新元素,数组会变成稀疏数组

5.数组遍历时跳过一些不合法数据:

  (1)跳过null 、undefined和不存在的元素   if(!arr[i]) continue; 

   (2) 跳过undefined和不存在的元素, if(a[i] === undefined) continue; 

   (3) 跳过不存在的元素  if(!(i in arr)) continue; 

                

 

数组一些细节

标签:

原文地址:http://www.cnblogs.com/Walker-lyl/p/5233940.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!