数组用法总结
Jioho 6/24/2020 Javascript
JS 中很多操作都可以转换为数组很方便的完成,数组又分为:改变原数组的方法
和不改变原数组的的方法
。
# 改变原数组的方法
splice - 添加/删除数组元素
- 语法:
var arr = []
arr.splice(index,howmany,item1,.....,itemX)
1
2
2
参数: 1.index:必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。 2.howmany:可选。要删除的项目数量。如果设置为 0,则不会删除项目。 3.item1, ..., itemX:可选。向数组添加的新项目。
返回值: 如果有元素被删除,返回包含被删除项目的新数组。
sort 数组排序
- 语法:
var arr = []
arr.sort(function(a, b) {
return a - b
})
1
2
3
4
2
3
4
参数: 1.sortby 可选。规定排序顺序。必须是函数。。
返回值: 返回包排序后的新数组。
pop 删除数组最后的一个元素
- 语法
var arr = []
arr.pop()
1
2
2
参数 无
返回值 被删除的元素
shift 删除数组第一项
- 语法
var arr = []
arr.shift()
1
2
2
参数 无
返回值 被删除的元素
push 往数组后添加内容
- 语法
var arr = []
arr.push(item,item1,item2....,itemx)
1
2
2
参数
- item 必填 需要添加的第一项元素
- item1-itemx 可选,需要添加的后续的元素
返回值:
新的数组长度
unshift 往数组第一项开始添加内容
- 语法
var arr = []
arr.unshift(item,item1,item2....,itemx)
1
2
2
参数
- item 必填 需要添加的第一项元素
- item1-itemx 可选,需要添加的后续的元素
返回值:
新的数组长度
reverse 反转数组
- 语法
var arr = []
arr.reverse()
1
2
2
参数:无
返回值 颠倒后的新数组。
copyWithin 指定位置的成员复制到其他位置
- 语法
var arr = []
arr.copyWithin(target, start, end)
1
2
2
参数
- target 从该位置开始插入复制的数据
- start 复制的数据的数据源开始的索引。默认是 0 数组的第一项开始复制
- end 复制的数据源的结束位置,默认是 arr.length 数组的最后一项
以上参数可为负数,负数则代表从该位置反过来数
返回值:返回当前数组
fill 填充数组
- 语法
// 假设有一个长度为10的数组。默认值都是空,则可以通过 fill方法填充默认值
var arr = []
arr.length = 10
arr.fill(value, start, end)
1
2
3
4
2
3
4
参数
- value 需要填充的数据 必须
- start 从指定的索引开始填充 可选,默认是 0
- end 到指定索引结束 可选。默认是数组的长度
返回值:返回填充后的数组
# 不改变原数组的方法
slice 浅拷贝数组的元素
- 语法
var arr = []
arr.slice(begin, end)
1
2
2
参数
- begin(可选): 索引数值,接受负值,从该索引处开始提取原数组中的元素,默认值为 0。
- end(可选):索引数值(不包括),接受负值,在该索引处前结束提取原数组元素,默认值为数组末尾(包括最后一个元素)。
返回值:返回一个从开始到结束(不包括结束)选择的数组的一部分浅拷贝到一个新数组对象,且原数组不会被修改。
join 数组转字符串
- 语法
var arr = []
arr.join(str)
1
2
2
参数
- str(可选): 指定要使用的分隔符,默认使用逗号作为分隔符。
返回值:返回生成的字符串。
concat 合并两个或多个数组
- 语法
var arr = []
var arr2 = []
var newArr = arr.concat(arr2,arr3...arrn)
1
2
3
4
2
3
4
参数
- arr2(必须):该参数可以是具体的值,也可以是数组对象。可以是任意多个。
返回值 返回返回合并后的新数组。
indexOf 查找数组是否存在某个元素
- 语法
var arr = []
arr.indexOf(search, fromIndex)
1
2
2
参数
- search (必须):被查找的元素
- fromIndex(可选):开始查找的位置(不能大于等于数组的长度,返回-1),接受负值,默认值为 0。
返回值 返回下标。如果没有对应的值返回 -1
lastIndexOf 查找指定元素在数组中的最后一个位置
- 语法
var arr = []
arr.lastIndexOf(search, fromIndex)
1
2
2
参数
- searchElement(必须): 被查找的元素
- fromIndex(可选): 逆向查找开始位置,默认值数组的长度-1,即查找整个数组。
返回值 方法返回指定元素,在数组中的最后一个的索引,如果不存在则返回 -1。(从数组后面往前查找)
includes 查找数组是否包含某个元素
- 语法
var arr = []
arr.includes(search, fromIndex)
1
2
2
参数
- searchElement(必须):被查找的元素
- fromIndex(可选):默认值为 0,参数表示搜索的起始位置,接受负值。正值超过数组长度,数组不会被搜索,返回 false。负值绝对值超过长数组度,重置从 0 开始搜索。
返回值 返回布尔