一,数组简介
数组也是对象,万物皆对象。数组用的是索引,从0开始的整数就是索引。数组的存储性能比普通对象更好,在开发中我们经常使用数组来存储一些数据。
使用typeof检查时候会返回Object
var arr=new Array();
对于连续的数组,使用length可以返回数组的元素,对于非连续的元素,会获取最大索引加1。尽量不要创建非连续的数组。
console.log(arr.length)
console.log(arr)
arr[0]=123;
二,数组字面量
使用字面量来创建数组
语法:
var arr=[];
使用字面量创建数组时,可以在创建时就指定数组中的元素。
var arr=[1,2,3];
使用构造函数创建数组时候,也可以同时添加元素,将要添加的元素作为构造函数的参数传递
var arr2=new Array(10,20,30);
数组里面可以放任意类型,放对象也行,放方法也行。
三,数组的四个方法:
1,push()
向数组末尾添加一个或者多个元素,并且返回数组的长度。该方法会将数组的长度作为返回值返回。
var arr=["1","2","3"];
var result=arr.push("5","7","9");
console.log(arr);//123579
console.log(result);//6
2,pop()
可以删除最后一个,并且被删除的元素作为返回值返回。
result=arr.pop();
3,unshift()
向数组开头添加一个或者多个元素,并且返回新的数组元素。其他元素的索引会依次调整。
arr.unshift("0","9");
4,shift()
arr.shift();
可以删除数组的第一个元素。并将我们被删除的元素作为返回值返回。
四,数组的遍历,foreach
var arr=["1","2"];
arr.forEach(function(a){
console.log("hello");
});
function默认是三个元素,第一个是Value值,第二个是数组下标的索引,第三个是正在遍历的数组。
五,slice和splice
slice(截取开始的元素,截取结束的元素)
从已有的数组中返回选定的元素(包含开始索引,左闭区间)。不会改变原数组,而是将截取到的元素封装到一个新数组。第二个参数可以不写。
splice(截取开始的元素,截取结束的元素)
会将指定元素删除,并改变原数组。第三个及以后的参数会自动插入到开始位置索引前边。
六,数组剩下的方法
concat(arr1,arr2)//将arr1和arr2合并,不对原数组产生影响
arr.join();//将数组转为字符串,不会对原数组产生影响
arr.reverse();//反转,直接修改原数组的值
arr.sort();//对数组中的元素进行排序,会影响原数组,排序是Unicode编码排序的