数组方法总结归纳(二)

248 阅读2分钟

「这是我参与11月更文挑战的第2天,活动详情查看:2021最后一次更文挑战

前言

上篇我已经总结了修改原数组的方法,有pop,push,shift,unshift,reserve,sort,splice这些方法,今天我将继续总结不修改数组的方法.

不修改原数组

1. Array.prototype.concat()

可用于合并两个或多个数组,不修改原数组

var arr1 = [1,2,3]
var arr2 = [4,5,6]
var arr3 = arr1.concat(arr2)
// arr1:[1, 2, 3]
// arr2: [4, 5, 6]
// arr3: [1, 2, 3, 4, 5, 6]

2. Array.prototype.slice()

语法:

arr.slice([begin[, end]])
slice`会提取原数组中索引从 begin`到 end 的所有元素(包含 `begin`,但不包含 `end`)
begin: 开始处的索引,从该索引开始提取原数组元素。
end: 结束处的索引,索引处结束提取原数组元素。
var arr = [1,2,3,4,5,6,7,8,9]
var arr1 = arr.slice(3,6)
// arr:[1, 2, 3, 4, 5, 6, 7, 8, 9]
// arr1: [4, 5, 6]

3. # Array.prototype.join()

join方法可以将一个数组(或者类数组对象)的元素拼接成一个字符串

var arr = ['java','script']
var arr1 = arr.join()
var arr2 = arr.join('-')
var arr3 = arr,join('')

// arr: ['java', 'script']
// arr1: 'java,script'
// arr2:'java-script'
// arr3: 'javascript'

4. Array.prototype.indexOf()

indexOf() 方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1。

var arr = [1,2,3,4,5]
var n1 = arr.indexOf(4)
var n2 = arr.indexOf(88)
// arr: [1, 2, 3, 4, 5]
// n1: 3
// n2: -1

5. 数组的遍历方法

  1. forEach 数组的基本遍历方法,无返回值,不改变原数组
  2. map 返回一个数组,结果是数组的每个元素执行一次函数的返回值,不改变原数组
  3. filter 返回的是元素通过函数测试的新数组,不改变原数组
  4. some 返回布尔值,判断数组中是否至少有一个元素通过函数测试,不改变原数组
  5. every 返回布尔值,判断数组中是否每个元素都通过函数测试,不改变原数组

以上是一些常用的数组方法