详解JavaScript内置对象Array(数组)
一. 创建数组的两种方式
方法一:数组字面量
var arr=[1,2,3,4,5,6];
方法二:new Array()
var arr1=new Array(); //创建一个空数组
var arr2=new Array(2); //创建一个长度为2的数组
var arr3=new Array(2,3,4); //创建一个[2,3,4]的数组
二. 检测是否为数组的两种方法
方法一:instanceof运算符
var arr4=[1,2,3,4,5];
console.log(arr4 instanceof Array); //true
var arr5={};
console.log(arr5 instanceof Array); //false
方法二:Array.isArray(参数)
console.log(Array.isArray(arr4)); //true
console.log(Array.isArray(arr5)); //false
三. 添加删除数组元素的方法
- push() (在原数组末尾添加一个或多个元素,返回值为新数组的长度)
- unshift() (在原数组开头添加一个或多个元素,返回值为新数组的长度)
- pop() (删除原数组最后一个元素,返回值为删除的元素)
- shift() (删除原数组第一个元素,返回值为删除的元素)
var arr6=[1,2,3,4,5];
console.log(arr6.push(6,7)); //7
console.log(arr6.unshift(-1,0)); //9
var arr7=[1,2,3,4,5,6,7];
console.log(arr7.pop()); //7
var arr8=[3,4,5,6,7,8,9];
console.log(arr8.shift()); //3
四. 数组索引方法
- indexOf() (只满足出现第一个元素的索引,若找不到元素则返回-1)
- lastIndexOf() (从后往前找,找不到也返回-1)
var arr12=['red','blue','yellow','green','pink','yellow'];
console.log(arr12.indexOf('pink')); //4
console.log(arr12.lastIndexOf('yellow')); //5