定义数组:
var arr = [];
//或者
var arr = new Array();
//ES6
const arr = [];
const arr = new Array();
检测数组:
// 1.instanceof 检测
console.log(arr instanceof Array);//true arr对象的原型链上能找到Array
// 注意:此处不能用 typeof typeof返回的是数据类型的字符串表达 不能判断null 和 数组 typeof
arr 返回的是object
// 2.constructor 检测
console.log(arr.constructor === Array);//true
//constructor可以被重写 例如:
var str = new String();
str.constructor = Array;
console.log(str.constructor === Array);// true
// 3.Object.prototype.toString.call() 检测
// 此方法可以确保检测数组
console.log(Object.prototype.toString.call(arr));//[object Array]
// 4.ES6 isArray()
console.log(Array.isArray([]));//true
操作数组:
1.indexOf()
Array可以使用indexOf()来返回指定元素的索引,若没有找到返回-1;
var arr = [1,2,3,4];
console.log(arr.indexOf(1));// 0
console.log(arr.indexOf(5));// -1
2.slice(star,end)
slice()截取数组部分元素然后返回一个新数组;
var arr = ['a','s','d','f','g'];
console.log(arr.slice(0,3));//['a','s','d'] 从索引为0开始,到索引3结束,但不包括索引3
console.log(arr.slice(3)