创建数组:
var myArray = new Array();
也可以直接给一个方括号:
var myArray = [];
在初始化数组时,可以同时赋值:
var myArray = ['value1','value2','value3'];
或者先建立空数组,在赋值:
var myArray = [];
myArray[0] = 'value1';
myArray[1] = 'value2';
myArray[2] = 'value3';
length属性:
对于上面的数组而言,数组长度为3。
myArray.length; // 3
但是这里需要注意一点,数组的长度其实总是比最大索引的值大1,如果我们给上面的数组再赋值,
myArray[50] = 'value4';
myArray.length; // 51
此时数组length返回51,但是实际数组只是包含4个元素。
数组的方法:
方法 | 描述 |
concat | 合并多个数组 |
join | 把多个数组元素合并为一个字符串 |
toString | 以字符串形式返回数组 |
indexOf | 在数组搜索指定元素 |
lastIndexOf | 返回与搜索规则匹配的最后一个元素 |
slice | 根据指定的索引返回一个新数组 |
sort | 排序 |
splice | 在指定出删除元素 |
concat方法:
var myArray = ['value1','value2'];
var myOtherArray = ['value3','value4'];
var newArray = myArray.concat(myOtherArray);
//包括 value1,value2,value3,value4
join方法:
var myArray = ['value1','value2'];
var newStr = myArray.join(); // 返回value1value2
toString()
var myArray = ['value1','value2','value3'];
var newStr = myArray.toString(); // 返回 value1,value2,value3
indexOf方法:
var myArray = ['a','b','c','d','e'];
myArray.indexOf('c'); // 2
myArray.indexOf('A'); // -1
找到了有返回相应位置,没有找到就返回-1;
lasIndexOf方法:
var myArray = ['a','b','c','d','a'];
myArray.lastIndexOf('a'); // 4
myArray.lastIndexOf('A'); // -1
找到了元素,最后一个出现的位置。没有找到返回-1.
slice方法:
var myWeek = ['Monday','Tuesday','Wednesday','Thursday','Friday'];
var newWeek = myWeek.slice(1,3);
//返回 ['Thuesday','Wednesday']
这里需要注意一下,slice英文是切片的意思,该方法可以截取参数规定的位置的数组,但是参数2所在位置,在截取时不包含在内。
sort方法:
var myWeek = ['a','b','c','e','d'];
myWeek.sort(); //返回 a,b,c,d,e
splice方法:
var myArray = ['a','b','c','e','d'];
myArray.splice(2,1,'dd'); //结果 a,b,dd,e,d
参数1,是从哪个位置开始,参数2是删除几个,参数3表示需要替换的元素。方法的返回值是被删除的元素。
遍历数组:
for-of访问数组,
var myArray = [2,3,4,5,6];
function cube(x) {
alert(x*x*x);
}
for(var y of myArray)
{
cube(y);
}