常用 js 方法 (一):数组的方法

210 阅读2分钟

数组的方法

数组对象的方法:

Array.of:创建数组实例

Array.isArray(val):检测变量是否为数组。返回一个布尔值

Array.from():将非数组的元素转化成数组。(前提:该元素具有 length 属性)

使用场景:开发中遇到的比较多的是将 nodeList 转换成数组来进行操作,或者是对 set 格式的数据结构来进行处理。

   

在ES6 中,直接使用拓展运算符来将非数组元素转换成数组会更加方便一点。

   

数组实例的方法:

1. 把数组转化为字符串的方法:实际上就是把数组的所有元素以某种方式拼接起来

toString():默认以逗号分隔

使用:arr.toString()

  const arr = [1, 2, 3]
  arr.toString() // 1,2,3

String():默认以逗号分隔

使用:String(arr)

  const arr = [1, 2, 3]
  String(arr) // 1,2,3

join():默认以逗号分隔,但是可以设置其他分隔符

使用:arr.join()

  const arr = [1, 2, 3]
  arr.join() // 1,2,3
  const arr = [1, 2, 3]
  arr.join("-") // 1-2-3
  const arr = [1, 2, 3]
  arr.join("") // 123
  const arr = [1, 2, 3]
  arr.join(" ") // 1 2 3

2. 对数组进行增删改的方法

push():在数组的末尾新增一个或多个元素。返回新增后的数组长度。

使用:arr.push(val)

  const arr = [1, 2, 3]
  arr.push("a","b") // 5
  console.log(arr) // [1, 2, 3, 'a', 'b']

pop():删除数组的最后一个元素。返回该元素。

使用:arr.pop()

  const arr = ['a', 'b', 'c', 'd', 'e']
  arr.pop() // 'e'
  console.log(arr) // ['a', 'b', 'c', 'd']
  const arr = []
  arr.pop() // undefined
  console.log(arr) // []

unshift():在数组的开头新增一个或多个元素。返回新增后的数组长度。

  const arr = [1, 2, 3]
  arr.unshift("a","b") // 5
  console.log(arr) // ['a', 'b', 1, 2, 3]

shift():删除数组的第一个元素。返回该元素。

使用:arr.shift()

  const arr = ['a', 'b', 'c', 'd', 'e']
  arr.shift() // 'a'
  console.log(arr) // ['b', 'c', 'd', 'e']
  const arr = []
  arr.pop() // undefined
  console.log(arr) // []

splice():可以对数组的元素进行增加,删除以及替换。

如果是对首尾的元素进行添加或删除,可以使用上面的几个方法。但是如果想对中间的元素进行操作,就得用到 splice 方法。

splice 方法接收三个参数,startdeleteCountitems

start:指定修改开始的位置。(修改包括新增、删除以及替换

deleteCount:表示要移除的元素的个数。

items:要添加到数组里的元素,可以是多个。

字符串的方法

把字符串转化为数组:

split():根据特定的字符串来拆分字符串。返回一个数组。

使用:str.split(",")

   const str = 'abcdef'
   str.split() // ['abcdef']
   const str = 'abc,def'
   str.split(',') // ['abc', 'def']
   const str = 'abc,def'
   str.split('') // ['a', 'b', 'c', ',', 'd', 'e', 'f']

使用上面的Array.from()方法也可以将字符串转成数组,这是因为字符串有length属性,可以被转化。