数组
数组的创建
1.字面量
var arr = []; //相当于系统内部new Array()
2.构造函数
var arr = new Array(); //如果括号内只放一个参数,就是数组的length
数组的所有方法来源与Array.prototype上
数组的读和写
var arr = [1, 2, 3]
arr[0]//读取第0位
arr[4]//undefined,不可以溢出读
arr[4] = 5//可以溢出写
数组常用方法
- 改变原数组
push、pop、unshift、shift、reverse、splice、sort
push()向数组末尾添加一个或多个元素,并返回新的长度
pop()删除数组最后一个元素,并返回删除的元素
unshift()向数组的开头添加一个或多个元素,并返回新的长度
shift()删除数组的第一位元素,并返回删除的元素
reverse()逆转数组
var arr = [1, 2, 3]; arr.reverse();//[3,2,1]
splice()剪切数组
var arr = [1,2,3,4,5,6]; arr.splice(0, 2);//从数组的第0位开始,剪切2个长度,返回[1,2] arr.splice(0, 1, 'abc');//在第0位上插入'abc',返回新的length。返回值为6
sort()排序数组
arr.sort(function(a, b){ return a - b; //a-b是升序
//b-a是降序
});
- 不改变原数组的方法
concat、toString、slice、join、split
concat()
var a = [1 ,2, 3]; var b = [4, 5]; a.concat(b);//在a数组的后面链接数组b,并返回一个新的数组
toString()把数组变成字符串
var a = [1,2,3]; a.toString();//返回"1,2,3"
slice()截取
var a = [1,2,3]; var b = a.slice(0,2);//从第0位开始,截取到第2位(不含该位)。[1,2] a.slice(0);//只写一个参数,从第0位,截取到最后一位
join()
var a = [1,2,3,4,5,6]; a.join('-');//返回一个字符串,"1-2-3-4-5-6"
split()与join相反
var str = "1-2-3-4-5-6"; str.split('-');//["1","2","3","4","5","6"]