犀牛——第7章 7.3稀疏数组

来源:互联网 发布:脸部比例测试软件 编辑:程序博客网 时间:2024/05/21 10:30

7.3 稀疏数组

稀疏数组就是包含从0开始的不连续索引的数组。如果数组是稀疏的,length属性值大于元素的个数。

例子:

a = new Array(5);     //数组没有元素,但是a.length是5

a = [];                       //创建一个空数组,length=0

a[1000] = 0;             //赋值添加一个元素,但是设置length为1001

7.4 数组长度

length属性值代表数组中元素的个数。

[].length                //=> 0:数组没有元素

['a','b','c'].length    //=>3:最大的索引为2,length为3

数组两个特殊的行为:

1、如果为一个数组元素赋值,它的索引i大于或等于现有数组的长度时,length属性的值将设置为i+1.

2、设置length属性为一个当前长度的非负整数n时,当前数组中那些索引值大于或等于n的元素将从中删除:

a = [1,2,3,4,5];       //从5个元素的数组开始           

a.length = 3;           //现在a为[1,2,3]

a.length = 0;           //删除所有的元素。a为[]

a.length = 5;           //长度为5,但是没有元素,就像new Array(5)

7.5 数组元素的添加和删除

为新索引赋值:

a = []       //开始是一个空数组

a[0] = "zero";  //然后向其中添加元素

a[1] = "one";   

也可以使用push()方法在数组末尾增加一个或多个元素:

a = [];   //开始是一个空数组

a.push("zero")   //在末尾添加一个元素。a=["zero"]

a.push("one","two")  //再添加两个元素。a=["zero","one","two"]

可以使用unshift()方法在数组的首部插入一个元素。

可以像删除对象属性一样使用delete运算符来删除数组元素:

a = [1,2,3];

delete a[1];           //a在索引1的位置不再有元素

1 in a                    //=>false:数组索引1并未在数组中定义

a.length                //=>3:delete操作并不影响数组长度











0 0
原创粉丝点击