数组用法总结

6/24/2020 Javascript

JS 中很多操作都可以转换为数组很方便的完成,数组又分为:改变原数组的方法不改变原数组的的方法

# 改变原数组的方法

splice - 添加/删除数组元素
  • 语法:
var arr = []
arr.splice(index,howmany,item1,.....,itemX)
1
2
  • 参数: 1.index:必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。 2.howmany:可选。要删除的项目数量。如果设置为 0,则不会删除项目。 3.item1, ..., itemX:可选。向数组添加的新项目。

  • 返回值: 如果有元素被删除,返回包含被删除项目的新数组。

sort 数组排序
  • 语法:
var arr = []
arr.sort(function(a, b) {
  return a - b
})
1
2
3
4
  • 参数: 1.sortby 可选。规定排序顺序。必须是函数。。

  • 返回值: 返回包排序后的新数组。

pop 删除数组最后的一个元素
  • 语法
var arr = []
arr.pop()
1
2
  • 参数 无

  • 返回值 被删除的元素

shift 删除数组第一项
  • 语法
var arr = []
arr.shift()
1
2
  • 参数 无

  • 返回值 被删除的元素

push 往数组后添加内容
  • 语法
var arr = []
arr.push(item,item1,item2....,itemx)
1
2
  • 参数

    1. item 必填 需要添加的第一项元素
    2. item1-itemx 可选,需要添加的后续的元素
  • 返回值:新的数组长度

unshift 往数组第一项开始添加内容
  • 语法
var arr = []
arr.unshift(item,item1,item2....,itemx)
1
2
  • 参数

    1. item 必填 需要添加的第一项元素
    2. item1-itemx 可选,需要添加的后续的元素
  • 返回值:新的数组长度

reverse 反转数组
  • 语法
var arr = []
arr.reverse()
1
2
  • 参数:无

  • 返回值 颠倒后的新数组。

copyWithin 指定位置的成员复制到其他位置
  • 语法
var arr = []
arr.copyWithin(target, start, end)
1
2
  • 参数

    1. target 从该位置开始插入复制的数据
    2. start 复制的数据的数据源开始的索引。默认是 0 数组的第一项开始复制
    3. end 复制的数据源的结束位置,默认是 arr.length 数组的最后一项

    以上参数可为负数,负数则代表从该位置反过来数

  • 返回值:返回当前数组

fill 填充数组
  • 语法
// 假设有一个长度为10的数组。默认值都是空,则可以通过 fill方法填充默认值
var arr = []
arr.length = 10
arr.fill(value, start, end)
1
2
3
4
  • 参数

    1. value 需要填充的数据 必须
    2. start 从指定的索引开始填充 可选,默认是 0
    3. end 到指定索引结束 可选。默认是数组的长度
  • 返回值:返回填充后的数组

# 不改变原数组的方法

slice 浅拷贝数组的元素
  • 语法
var arr = []
arr.slice(begin, end)
1
2
  • 参数

    1. begin(可选): 索引数值,接受负值,从该索引处开始提取原数组中的元素,默认值为 0。
    2. end(可选):索引数值(不包括),接受负值,在该索引处前结束提取原数组元素,默认值为数组末尾(包括最后一个元素)。
  • 返回值:返回一个从开始到结束(不包括结束)选择的数组的一部分浅拷贝到一个新数组对象,且原数组不会被修改。

join 数组转字符串
  • 语法
var arr = []
arr.join(str)
1
2
  • 参数

    1. str(可选): 指定要使用的分隔符,默认使用逗号作为分隔符。
  • 返回值:返回生成的字符串。

concat 合并两个或多个数组
  • 语法
var arr = []
var arr2 = []
var newArr = arr.concat(arr2,arr3...arrn)

1
2
3
4
  • 参数

    1. arr2(必须):该参数可以是具体的值,也可以是数组对象。可以是任意多个。
  • 返回值 返回返回合并后的新数组。

indexOf 查找数组是否存在某个元素
  • 语法
var arr = []
arr.indexOf(search, fromIndex)
1
2
  • 参数

    1. search (必须):被查找的元素
    2. fromIndex(可选):开始查找的位置(不能大于等于数组的长度,返回-1),接受负值,默认值为 0。
  • 返回值 返回下标。如果没有对应的值返回 -1

lastIndexOf 查找指定元素在数组中的最后一个位置
  • 语法
var arr = []
arr.lastIndexOf(search, fromIndex)
1
2
  • 参数

    1. searchElement(必须): 被查找的元素
    2. fromIndex(可选): 逆向查找开始位置,默认值数组的长度-1,即查找整个数组。
  • 返回值 方法返回指定元素,在数组中的最后一个的索引,如果不存在则返回 -1。(从数组后面往前查找)

includes 查找数组是否包含某个元素
  • 语法
var arr = []
arr.includes(search, fromIndex)
1
2
  • 参数

    1. searchElement(必须):被查找的元素
    2. fromIndex(可选):默认值为 0,参数表示搜索的起始位置,接受负值。正值超过数组长度,数组不会被搜索,返回 false。负值绝对值超过长数组度,重置从 0 开始搜索。
  • 返回值 返回布尔

Last Updated: 5/9/2021, 10:45:03 PM