微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

数组常用API

数组的常用方法

shift():删除数组的第一项

返回值:被删除的项,

改变原数组

unshift():向数组首位添加内容

参数:要添加的项,

多项用之间用逗号隔开,

返回值:新数组的长度,

改变原数组

push():向数组的末尾添加内容

参数:要添加的项。传递多个用逗号隔开,任何数据类型都可以,

返回值:新增后数组的长度,

改变原数组

pop():删除数组的最后一项

返回值:被删除的项

改变原数组

slice():按照条件查找出其中的部分内容

参数:array.slice(a, b),从索引a开始查找到b处(不包含b)

array.slice(a) 第二个参数省略,则一直查找到末尾

array.slice(0)原样输出内容,可以实现数组克隆

array.slice(-a, -b) slice支持负参数,从最后一项开始算起,-1为最后一项,-2为倒数第二项,

返回值:返回一个新数组,

不改变原数组

splice():对数组进行增删改

增加:ary.splice(a, 0, b)从索引a开始删除0项,把m或者更多的内容插入到索引a的前面

返回空数组

修改:ary.splice(a, x, b)从索引n开始删除x个,b替换删除的部分

把原有内容删除掉,然后用新内容替换掉

删除:ary.splice(n, m) 从索引n开始删除m个内容(如果第二个参数省略,则从n删除到末尾)

返回删除的新数组,原有数组改变

reverse() :反转数组

返回值:倒序后新数组

改变原数组

join():用指定的分隔符将数组每一项拼接为字符串

参数:指定的分隔符(如果省略该参数,则使用逗号作为分隔符

返回值:拼接好的字符串

不改变原数组

indexOf():检测当前值在数组中第一次出现的位置索引

参数:array.indexOf(a, b) a:查找的元素 b: 字符串中开始检索的位置

返回值:第一次查到的索引,未找到返回 - 1

不改变原数组

lastIndexOf()    检测当前值在数组中最后一次出现的位置索引

参数:array.lastIndexOf(a, b) a:查找的元素,b: 字符串中开始检索的位置

返回值:第一次查到的索引,未找到返回 - 1

不改变原数组

concat():用于连接两个或多个数组

参数:参数可以是具体的值,也可以是数组对象。可以是任意多个

返回值:返回连接后的新数组

不改变原数组

includes():判断一个数组是否包含一个指定的值

参数:指定的内容

返回值:布尔值

不改变原数组

数组的高阶函数

forEach():循环遍历数组每一项

参数:函数 ary.forEach(function (value, index, arr) { })

value:每一项,index:索引,arr: 当前数组(一般不用)

无返回值

不改变原数组

forEach中不能使用continue和break,forEach中不能跳出,只能跳过(return跳过)

findindex():当数组中的元素返回 true 时, 该方法会返回符合条件的元素的索引位置,之后的值不会再调用执行函数

如果没有符合条件的元素返回 -1、原数组不变

find():当数组中的元素在测试条件时返回 true 时, 返回符合条件的元素,之后的值不会再调用执行函数

如果没有符合条件的元素返回 undefined、原数组不变

filter():方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素、原数组不变

sort():对数组的元素进行排序(认是从小到大来排序 并且是根据字符串来排序的)

参数:可选(函数) 规定排序规则 认排序顺序为按字母升序

返回值:排序后新数组

改变原数组

sort在不传递参数情况下,只能处理10以内(个位数)数字排序

map():该方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值、原数组不变

flat():数组扁平化

参数:(认不填、数值是1),即展开一层数组,如果是多层,参数可以传进 Infinity,代表不论多少层都要展开

some():对数组每一项进行判断,如果有一个元素满足条件,则返回true , 并停止遍历

如果没有满足条件的元素,则返回false,原数组不变

every():对数组中每一项进行判断,若每一项都返回true、则返回true

一个为false,则返回false,并停止遍历,原数组不变

原文地址:https://www.jb51.cc/wenti/3287773.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐