js 数组的每一项可以保存任何类型的数据。
数级的大小是可以动态调整的,即可以随着数据的添加自动增长长度。
创建数组的两种方式:
使用 Array 构造函数
var color = new
Array(20); // 创建长度为 20 的数组
var color = new
Array(‘red‘, blue‘, ‘green‘);
使用数组字面量
var color = [‘red‘,
‘blue‘, 3];
数组的长度 :
可读可写,随着元素的增多自动增长。
console.log(color.length); // 3
color.length
=2;
console.log(color)
// [‘red‘, ‘blue‘]
color[9] =
‘gray‘;
console.log(color.length); // 10
colors[colors.length] =
‘black‘; // 为数组末尾新增一项;
检测数组
Array.isArray(value);
转换方法 : join
colors.join(‘,‘);
// red ,blue, 3
操作方法 :
push() :
接收任意数量的参数,把它们逐个添加到数组末尾,并返回修改后数组长度
pop()
:从数组末尾移除最后一项,返回移除的项。
shift() :
移除数组的第一项并返回该项。
unshift() :
在数组前端添加任意个项并返回新数组长度。
reverse() :
反转数组项的顺序。
sort() :
把数组每一项转成字符串,按升序排列。sort() 还可以接受一个比较函数作参数。
比较函数接收两个参数,如果第一个位于第二个之前则返回一个负数,相等则返回
0,位于第二个之后则返回一个正数。
function compare(value1, value2){
if(value1 < value2){
return -1;
}else if(value1 > value2){
return 1;
}else{
return 0;
}
对于数值类型或者其 valueOf()
方法可以返回数值类型的对象类型,可以使用
function compare(value1,
value2){
return value2 - value1;
}
concat() :
先创建当前数组的一个副本,然后将接收到的参数添加这个副本的末尾,最后返回新构建的数组。
在没有传入参数的情况的下,它只是复制当前数组并返回副本。
var colors = [‘red‘, ‘green‘,
‘blue‘];
var colors2 = colors.concat(‘yellow‘,
[‘black‘, ‘brown‘]);
alert(colors);
// red, green, blue
alert(colors2);
// red, green, blue, yellow, brown
slice() :
可以接受一或两个参数,即要返回项的起始位置和结束位置。只有一个参数返回从指定位置到数组末尾的所有项,
有两个参数,返回从起始位置和结束位置之间的项,但不包括结束位置的项。这个方法不会影响原始数组。
splice() : 删除 :
传入两个参数,删除第一项的位置和要删除的项数。
插入 :
传入至少三个参数,起始位置、0(要删除的项数)、要插入的项。要插入多项,可以再传入更多参数。
替换 : 传入至少三个参数,起始位置、要删除的项数、要插的项。
这个方法始终都会返回从原数组中删除的项(没有删除任何项,返回一个空数组),原数组会发生变化。
indexOf() :
返回要查找的项在数组中的位置,接收两个参数,要查找的项和查找的起点的位置的索引(可选),从数组的开头位置向后查找
lastIndexOf() :
从数组的末尾开始向前查找。