var arr = new Array();
var arr = new Array(2); //length为2的数组
var arr = new Array("a","b","c"); //包含a,b,c的数组
//new 操做符可省略
复制代码
var arr = [];
var arr = ['a','b','c'];
复制代码
数组的length属性不是只读的,咱们能够经过设置这个属性从数组的末尾移除项或添加项javascript
var arr = [1,2,3];
arr.length = 2;
console.log(arr[2])//undefined
arr[arr.length] = 4;
console.log(arr[arr.length-1])//4
复制代码
var arr = [];
arr instanceof Array //true 若是一个网页存在两个不一样的全局执行环境,从而就会存在两个不一样版本的Array构造函数,这个要返回true,arr必须是一个数组,并且要和Array构造函数在同个做用域
复制代码
Array.isArray(arr) //true ie9+
function isArray(value){
return Object.prototype.toString.call(value) == "[object Array]"
}
复制代码
var arr = ['a','b','c'];
console.log(arr.toString()) //a,b,c
console.log(arr.valueOf()) //['a','b','c']
console.log(arr.toLocaleString()) //a,b,c
console.log(arr.join("||")) //a||b||c
复制代码
push() //向数组的末尾添加任意数量的参数,返回新的length
pop() //移除数组的最后一项,返回被移除的项
shift() //移除数组中第一项,返回被移除的项
unshift() // 向数组的前端添加任意数量的参数,返回新的length
reverse() //反转数组
sort() //sort方法会调用每一项的toString()转型方法,而后比较获得的字符串
//sort方法能够接受一个比较函数
function compare(value1,value2){
if(value1 < value2){
return -1 //value1在value2以前返回-1
}else if(value1 > value2){
return 1
}else{
return 0 //相等
}
}
concat() //建立当前数组的一个副本,将接收到的参数添加到这个副本的末尾,返回新构建的数组
slice() //截取数组,接收一或两个参数,可接受负值
splice() //可接受多个参数,第一个是起始位置,第二个是要删除的项数,后面是要插入的项,返回从原始数组中删除的项组成的数组
indexOf() //可接受两个参数,要查找的项和查找起点(可选),找到返回位置,找不到返回-1
lastIndexOf() //从数组的末尾开始查找 ie9+
复制代码
every() //每一项都为true,则返回true
filter() //返回结果为true组成的数组
forEach() //没有返回值
map() //返回调用结果组成的数组
some() //任一项返回true,则返回true
//上述方法接收一个callback和一个运行改函数的做用域对象(可选,影响this的值)
function callback(item,index,array){
//item是数组的每一项
//index是每一项的索引
//array是数组对象自己
}
复制代码
reduce() // 从第一项开始
reduceRight() //从数组的最后一项开始向前遍历
//这两个方法都会迭代数组的每一项,构建一个最终返回的值
//能够接受一个callback和一个做为归并基础的初始值(可选)
function callback(prev,cur,index,array){
//prev前一个值
//cur当前值
//index项的索引
//array数组对象
}
//这个callback返回的任何值都会做为第一个参数自动传递给下一项
复制代码