Javascript笔记 - Javascript中的数组

作为弱类型的Javascript语言,同一个数组中可以包含不同的数据类型。

Javascript数组提供的方法有如下:

方法 描述
concat() 连接两个或更多的数组,并返回结果。
join() 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
pop() 删除并返回数组的最后一个元素。
push() 向数组的末尾添加一个或更多元素,并返回新的长度。
reverse() 颠倒数组中元素的顺序。
shift() 删除并返回数组的第一个元素。
slice() 从某个已有的数组返回选定的元素。
sort() 对数组的元素进行排序。
splice() 删除元素,并向数组添加新元素。
unshift() 向数组的开头添加一个或更多元素,并返回新的长度。
valueOf() 返回数组对象的原始值。

Javascript中的数组提供了各种像栈和列表的功能,其功能是非常强大的。

1、数组的特性:

1.1、length属性

该属性表示数组的当前长度,但是Javascript中也可以修改该属性的值:

var arr = new Array(1, 2, 3);
alert(arr.length); //3
arr.length = 4;
alert(arr.length); //4
alert(arr); //1,2,3,

1.2、使用字符串作为数组的下标:

var animal = new Array();
animal[‘pig’] = 1;
animal[‘dog’] = 0.1;
animal[‘mouse’] = “mouse”;
var result=””;
for(var item in animal){
result += animal[item] +” “;
}
alert(result);

2、数组的使用:

2.1、创建数组:

//创建数组的方法
var array1 = new Array();
var array2 = new Array(3);
var array3 = new Array(“a”,”b”,”c”);

var array4 = [“a”,”b”,”c”]; //通过字面值来创建,这种方法使用最多

2.2、向数组中添加元素:

array1.push(“Jason”);
array1.push(1);
for(var i=0; i<array1.length; i++){
alert(array1[i]);
}

2.3、弹出数组中的元素:

var array1Length = array1.length;
for(var i=0; i<array1Length; i++){
alert(array1.pop());
}
alert(array1.length); //0

2.4、连接一个数组中的所有元素:

var array = [“a”,”b”,”c”];
var str = array.join(“|”);
alert(str); //a|b|c

2.5、多个数组元素:

var array1 = [“a”,”b”,”c”];
var array2 = [“a”,”b”,”c”];
var array3 = [“a”,”b”,”c”];
var conArray = array1.concat(array2, array3);
alert(conArray); //a,b,c,a,b,c,a,b,c

2.6、从数组中取一定数量的元素,不影响数组本身:

var array = [“a”,”b”,”c”,”d”,”e”,”f”];
alert(array.slice(2,4));// c,d

2.7、从数组中某个位置删除添加元素:

var array = [“a”,”b”,”c”,”d”,”e”,”f”];
array.splice(2,2); //删除了c,d
alert(array); //a,b,e,f

var array = [“a”,”b”,”c”,”d”,”e”,”f”];
array.splice(2,2,”Jason”); //删除了c,d,并在b后面加上Jason
alert(array); //a,b,Jason,e,f

注意:使用delete删除数组元素时,被删除的元素的位置会变为undefined,而不会删除这个元素所占据的位置,即长度不会变。

2.8、遍历数组:

使用for…in:

//for…in
var array = [“a”,”b”,”c”];
for(var key in array){
alert(array[key]);
}

这种形式会输出所有的元素,如果只想访问下表是数字的元素,可以这样循环:

for(var i=0, len = array1.length; i<len; i++){
alert(array1[i]);
}

arthinking wechat
欢迎关注itzhai公众号