几种JavaScript中常用的操作数组方法

139 阅读3分钟

「这是我参与2022首次更文挑战的第28天,活动详情查看:2022首次更文挑战

1,arr.pop()

  1. 删除数组最后一个元素
  2. 返回删除后的元素,若数组为空返回undefined
  3. 会改变原数组
let arr = [1,2,3,4]
arr.pop() // return 4   arr = [1,2,3]

2,arr.push()

  1. 向数组尾部添加一个或者多个元素
  2. 返回新的数组长度
  3. 会改变原数组
let arr = [1,2,3,4]
arr.push(5,6) // return 6   arr = [1,2,3,4,5,6]

3,arr.shift()

  1. 删除数组数组第一个元素
  2. 返回删除的元素
  3. 会改变原数组
let arr = [1,2,3,4]
arr.shift() // return 1  arr = [2,3,4]

4,arr.unshift()

  1. 向数组首部添加一个或者元素‘
  2. 返回添加后的数组长度
  3. 会改变原数组
let arr = [1,2,3,4]
arr.unshift(0,-1) // return 6  arr = [-1,0,1,2,3,4]

5,arr.splice(begin,num,element.....)

  1. 向数组中增加 / 删除 / 修改一个或者多个元素,begin表示从什么位置开始操作数组(只有一个参数时表示删除这个位置后面所有元素),num表示删除时的个数(0表示不删除),element表示添加到数组中的新元素
  2. 返回新数组(删除时返回删除的内容,修改时返回修改的内容,增加时返回增加后的数组)
  3. 会改变原数组
  4. 参数为复数表示从后往前进行操作
let arr = [1,2,3,4]

// 1. 删除
arr.splice(1,2)  // return [2,3]  arr = [1,4]

// 2. 修改
arr.splice(2,1,9) // return [1,2,9,4]  arr = [3]

// 3. 增加
arr.splice(3,0,5,6,7,8,9)  // return [1,2,3,5,6,7,8,9,4]   arr = [1,2,3,5,6,7,8,9,4]


6,arr.indexOf

  1. 搜索数组中的元素
  2. 返回它所在的位置
  3. 不改变原数组
let arr = [1,2,3,4]
arr.indexOf(3) // return 2   arr = [1,2,3,4]  

7,arr.reverse()

  1. 反转数组
  2. 返回反转后的数组
  3. 不会改变原数组
let arr = [1,2,3,4]
arr.reverse() // return [4,3,2,1]
// arr = [1,2,3,4]

8,arr.concat()

  1. 合并多个数组
  2. 返回合并后的数组
  3. 不会改变原数组
let arr1 = [1,2]
let arr2 = [3,4]
let arr3 = [5,6]
arr1.concat(arr2,arr3)  // return [1,2,3,4,5,6]
// arr1 = [1,2]
// arr2 = [3,4]
// arr3 = [5,6]

9,arr.sort()

  1. 对数组从小到大进行排序
  2. 返回排序后的数组
  3. 会改变原数组
let arr = [1,4,2,3]
arr.sort()  // return [1,2,3,4]
// arr = [1,2,3,4]

10,arr.map(function(current,index,arr){ })

  1. 使数组中的每个元素都执行一遍函数
  2. 返回执行函数后的数组
  3. 不会改变原数组
let arr = [1,2,3,4]
let a = arr.map((current) => {
    return current = current + 1;
}) 
// a = [2,3,4,5]
// arr = [1,2,3,4]

11,arr.join()

  1. 将数组元素进行拼接
  2. 返回拼接后的结果
  3. 不会改变原数组
let arr = [1,2,3,4]
arr.join('-')  // return '1-2-3-4'  arr = [1,2,3,4]

12, arr.forEach()

  1. 遍历数组
  2. 不改变原数组
let arr = [1,2,3,4]
arr.forEach((e)=>{
	if(e==2){
		return 2
	}
})

13,arr.fillter()

  1. 过滤数组
  2. 返回满足过滤条件的元素
  3. 不改变原数组
 let arr = [1, 2, 3, 4]
arr.filter(e => e > 2)   // return [3,4]  arr = [1,2,3,4]

14,arr.some()

  1. 对所有元素进行判断
  2. 如果有一个元素满足判断条件返回true,剩余的元素不会再执行检测,没有元素满足条件返回false
let arr = [1,2,3,4]
arr.some(e => e > 3) // return true 

15,arr.every()

  1. 对所有元素进行判断
  2. 如果所有元素都满足判断条件返回true,否则返回false

arr.toString()数组转字符串,arr.isArray()判断是否为数组