一、构造函数
var a1 = new Array()
二、字面量
var a1 = []
三、获取数组的长度:
a1.length
四、栈方法
pop从数组index值最大的删除
push从数组index值最大的增加
pop和push方法能使我们像堆栈那样先入后出的使用数组
五、队列方法
shift方法可以删除数组index值最小的那个元素
unshift向数组头部添加一个函数
shift和和push方法可以模拟一个队列先入先出
六、splice方法
1、删除:指定前2个参数,可以删除元素,同样会带来索引调整以及length调整
var a = new Array(1,2,3,4,5)
console.log(a.splice(1,3))//[2,3,4]
console.log(a)//[1,5]
2、插入:方法的第二个参数为0,第三个参数 以及后面的内容写要插入的参数
var a = new Array(1,2,3,4,5)
a.splice(1,0,21,22,23)
console.log(a)//[1,21,22,23, 2,3,4,5]
3、替换:方法的第二个参数为不为0,第三个参数 以及后面的内容写要替换的参数
var a = new Array(1,2,3,4,5)
a.splice(1,3,21,22,23)
console.log(a)//[1,21,22,23,5]
七、join方法
作用是把数组元素(对象调用其toString()方法)使用参数作为连接符连接成一字符串,不会修改原数组内容
var a = new Array(1,2,3,4,5)
console.log(a.join(','))//1,2,3,4,5
console.log(a.join(' '))//1 2 3 4 5
八、slice方法
slice方法用于返回数组中的一个片段或者子数组,如果只写 一个参数,返回参数到数组结束的部分,如果出现负数,则从数组尾部开始计数,如果startd大于end返回空数组(返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素)
var a = new Array(1,2,3,4,5)
console.log(a.slice(1,3))//2,3
console.log(a.slice(1,2))//2
console.log(a.slice(2,1))//[]
九、concat方法
concat方法用于拼接数组,a.concat(b)返回一个a和b共同组成的新数组,同样不会修改任何一个原始数组,也不会递归数组内部数组
var a = [1,2]
var b = [3,[4,5]]
var c = [6,7]
console.log(a.concat(b))//[1,2,3,[4,5]]
console.log(a.concat(b,c))//[1,2,3,[4,5],6,7]
console.log(a.concat(b,c,8,[9,10]))//[12,3,[4,5],6,7,8,9,10]
十、sort方法
sort方法用于对数组进行排序,如果想按照自己定义方式排序,可以传一个排序方法进去
var a = new Array(11,10,9,8,7)
a.sort(function(a1,a2){
return a1-a2
})
console.log(a)//7,8,9,10,11
十一、Array.isArray(obj)方法
这是Array对象的一个静态函数,用来判断一个对象是不是数组
var a = new Array(1,2)
var b = new Date()
console.log(Array.isArray(a))//true
console.log(Array.isArray(b))//false
十二、.indexOf方法
这两个方法用于查找数组内指定元素位置,查找到第一个后返回其索引,没有查找到返回-1,indexOf从头至尾搜索,lastIndexOf反向搜索
var a = [1,2,3,4,5]
a.indexOf(2)//1
a.indexOf(6)//-1
十三、.forEach(element, index, array)方法
遍历数组,参数为一个回调函数,回调函数有三个参数:(1当前元素 2当前元素索引值 3整个数组)
var a = [1,2,3,4,5]
a.forEach(function(e,i,array){
array[i] = e+1
})
console.log(a)//[2,3,4,5,6]
十四、.every(function(element, index, array))
.some(function(element, index, array))
回调函数返回一个布尔值
every是所有
函数的每个回调函数都返回true的时候才会返回true,当遇到false的时候终止执行,返回false
some函数是存在有一个回调函数返回true的时候终止执行并返回true,否则返回false
在空数组上调用every返回true,some返回false
var a = [1,2,3,4,5,6]
console.log(a.every(function(e,i,array){
return e < 5
}))//false
console.log(a.some(function(e,i,array){
return e > 4
}))//true
十五、.map(function(element))
与forEach类似,遍历数组,回调函数返回值组成一个新数组返回,新数组索引结构和原数组一致,原数组不变
var a = [1,2,3,4,5,6]
console.log(a.map(function(ele){
return ele * ele
}))//[1,4,9,14,25,36]
console.log(a)//[1,2,3,4,5,6]
十六、.filter(function(element))
返回数组的一个子集,回调函数用于逻辑判断是否返回,返回true则把当前元素加入到返回数组中,false则不加
var a = [1,2,3,4,5,6]
console.log(a.filter(function(ele){
return ele % 2 == 0
}))//[2,4,6]
十七、reverse()
reverse() 方法用于颠倒数组中元素的顺序,该方法会改变原来的数组,而不会创建新的数组。
var abb = ['a','b','c','d','e','f']
abb.reverse()
console.log(abb)//["f", "e", "d", "c", "b", "a"]