JavaScript的数组是可以直接进行增删查改,非常好用、方便。
【1】数组的创建
//创建一个数组
var arrayObj = new Array();
//创建一个数组并指定长度,注意不是上限,是长度。
要说明的是,虽然第二种方法创建数组指定了长度,但实际上所有情况下数组都是变长的,也就是说即使指定了长度为5,仍然可以将元素存储在规定长度以外的,注意:这时长度会随之改变。
var arrayObj = new Array([size]);
【2】数组元素的添加
// 将一个或多个新元素添加到数组结尾,并返回数组新长度
arrayObj. push(e);
// 将一个或多个新元素添加到数组的开头,数组中的元素自动后移,返回数组新长度
arrayObj.unshift(e);
如,
var arrayObj=[1,2,3,4,5,6,7,8,9];
arrayObj.unshift(0);
console.log(arrayObj);
//将一个或多个新元素插入或者替换数组的指定位置,返回数组新长度。
//参数index:为插入的索引位置
//参数len:从插入索引位置开始,替换原数组的一个或者多个元素
//参数e:插入新元素的值
arrayObj.splice(index,len,e);
如,
var arrayObj=[1,2,3,4,5,6,7,8,9];
arrayObj.splice(1,2,0);
console.log(arrayObj);
【3】数组元素的删除
//1)移除最后一个元素并返回该元素值
arrayObj.pop();
//2)移除最前一个元素并返回该元素值,数组中元素自动前移
arrayObj.shift();
//3)指定索引移除数组一个或者多个元素
//index:从指定索引位置开始删除
//delCount:删除的数量
arrayObj.splice(index,delCount);
如,
var arrayObj=[1,2,3,4,5,6,7,8,9];
arrayObj.splice(1,1);
console.log(arrayObj);
//4) delete删除掉数组中的元素后,数组长度不变,但是该下标的值为undefined
delete arrayObj[index];
如,
var arrayObj=[1,2,3,4,5,6,7,8,9];
delete arrayObj[1];
console.log(arrayObj);
console.log(arrayObj[1]);
【4】清空数组
arrayObj.splice(0);
或者arrayObj.length=0;
【5】数组元素的排序
//反转元素(最前的排到最后、最后的排到最前),返回数组地址
arrayObj.reverse();
//对数组元素重新排序,返回数组地址(从元素的左部开始)
arrayObj.sort();
如,
var arrayObj=["d",2,55,4,5,16,7,88,19];
console.log(arrayObj.sort());
【6】数组元素的字符串化
//返回字符串,这个字符串将数组的每一个元素值连接在一起,中间用 *隔开。
arrayObj.join("*");
如,
var arrayObj=["d",2,55,4,5,16,7,88,19];
console.log(arrayObj.join());
console.log(arrayObj.join(""));
console.log(arrayObj.join("*"));
Javas数组length 属性
Length属性表示数组的长度,即其中元素的个数。因为数组的索引总是由0开始,所以一个数组的上下限分别是:0和length-1。和其他大多数语言不同的是,JavaScript数组的length属性是可变的。
注意:
- 当length属性被设置得更大时,整个数组的状态事实上不会发生变化,仅仅是length属性变大
- 当length属性被设置得比原来小时,则原先数组中索引大于或等于length的元素的值全部被丢失。
//定义了一个包含9个数字的数组
var str=[1,2,3,4,5,6,7,8,9];
console.log(str);
//将数组的长度减少到2,索引等于或超过2的元素被丢弃
//但是本身的数组长度还是9
str.length=2;
console.log(str);
//将数组长度恢复为9,但是丢弃的元素却找不回
str.length=9;
console.log(str);
由上面的介绍可以看到,length属性是如此的神奇,利用它可以方便的增加或者减少数组的容量。因此对length属性的深入了解,有助于在开发过程中灵活运用。