js数组方法总结

时间:2022-05-16 19:04:10

一、构造函数

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"]