数组的常用方法和分类

今天来总结一下数组的一些方法 是分享也是个人的一个总结 如有不足或错误之处 欢迎大家补充和指导

还在更新中 大家要是觉得有用 可以点个关注或者收藏

增删:pop、shift、unshift 、push
截取:splice、slice
顺序:reverse、sort
联结:concat
变态:join、toString
查找:indexOf、lastIndexOf、includes、find、findIndex
循环:reduce、reduceRight、forEach、map、filter、every、some
其他:flat、fill
最新提案:toReversed、toSorted、toSpliced、with

一 、增删方法

pop方法
作用:该方法没有参数,每次只能删除数组的最后一位,并且返回被删除的数据,该方法会改变原数组

示例如下
在这里插入图片描述

shift方法
作用:该方法没有参数,会删除数组的第一位数据,并且返回被删除的数据,该方法会改变原数组

示例如下
请添加图片描述

unshift方法
作用:该方法会在数组的前面添加元素,可以添加多个用 ,隔开 会返回一个新的数组长度,该方法会改变原数组

示例如下
请添加图片描述

push方法
作用:该方法会在数组的后面添加元素 ,可以添加多个元素用 ,隔开 会返回一个新的数组长度,该方法会改变原数组

示例如下
请添加图片描述

二、截取方法

splice方法
作用:该方法可以删除数组内的元素 也可以替换和添加数组内的元素 有三个参数 第一个是索引 第二个是删除(如果设置为0 则不会删除) 第三个是向数组内添加的元素 会返回一个由被删除和被替换组成的新数组

语法:arr.splice(index, num, item1…itemX)

示例如下
索引到了2的位置 把3删除(当然这里不删除也有同样的替换效果,但是不会有返回值,只会返回一个空数组)替换成了6,7
)
在这里插入图片描述

slice方法
作用:截取指定下标数组的值 会返回一个由截取数据组成的新数组 有两个参数 起始索引值和结束索引值 不会改变原数组

语法: arr.slice(startindex,endindex )

示例如下
索引从2开始 到4结束 但是不会返回结束索引的值
请添加图片描述

三、顺序方法

reverse方法
作用:将数组反转(倒序) 并且返回反转(倒序)后的新数组 会改变原数组

示例如下
请添加图片描述

sort方法
作用:将数组内的元素进行排序 排序规则默认根据字符串Unicode码点
参数如下
arr.sort(function (a, b)
该参数用来制定数组的排列顺序 如果返回的值是b在a前面那么就是从大到小的顺序
如果返回的值是a在b前面 那么就是从小到大的顺序

示例如下
请添加图片描述

四、联结方法

concat方法
作用:数组的拼接 将多个数组内容放在一个数组里面形成一个新的数组 不改变原数组
如果是其他类型 直接放进新数组里面
如果该方法没有设置参数 就会返回原数组

示例如下
请添加图片描述

五、变态方法

join方法
作用:可以用特定的符号将数组里的内容拼接成字符串 如果不添加参数就直接将数组转换成字符串 不改变原数组

示例如下
请添加图片描述

toString方法
作用:将数组转换成字符串 不改变原数组 返回转换后的新数组

示例如下
请添加图片描述

六、查找方法

indexOf方法
作用:查询元素在数组中第一次出现的位置,
如果存在返回下标 不存在返回-1

示例如下
请添加图片描述

lastindexOf方法
作用 查询元素在数组中最后一次出现的位置 如果存在返回下标 不存在返回-1

示例如下
请添加图片描述

includes方法
作用:用于判断数组里是否存在这个值 如果存在返回true 不存在返回false

示例如下
请添加图片描述

find方法
作用:该方法会遍历数组的每一个元素 每个元素都会调用一次函数执行 当数组里的元素满足条件时就会返回第一个满足条件的值 如果没有满足条件的值就返回 undefined 不会改变原数组

示例如下
请添加图片描述
findIndex方法
作用:该方法会遍历数组的每一个元素 每个元素都会调用一次函数执行 当数组里的元素满足条件时就会返回第一个满足条件的索引 如果没有满足条件的值就会返回-1 不会改变原数组

示例如下
请添加图片描述

七、循环方法

reduce方法
作用:该方法接收一个函数作为累加器,数组的每个值从左到右开始缩减,最终计算为一个值

语法:array.reduce(function(total, currentValue, currentIndex, arr),initialValue)

参数如下

请添加图片描述

示例如下
请添加图片描述

reduceRight方法
作用:该方法和reduce类似 不同的是reduceRight是从右到左

语法:array.reduce(function(total, currentValue, currentIndex, arr),initialValue)

参数如下

请添加图片描述
示例如下

请添加图片描述

forEach方法
作用:该方法会调用数组中的每个元素,并将元素传递给回调元素,遍历整个数组 但是无法break中途跳出循环,不可控,不支持retrun操作

语法:array.forEach(function(currentValue, index, arr), thisValue)

参数如下

请添加图片描述

示例如下

请添加图片描述

map方法
作用:该方法会遍历数组 返回一个新数组 不会改变原始数组。 新数组中的元素为原始数组调用函数处理之后的值
语法:array.map(function(currentValue,index,arr), thisValue)

参数如下

请添加图片描述

示例如下

请添加图片描述
filter方法

作用:该方法会创建一个新数组,新数组的所有元素是通过检查指定元素符合条件的所有元素。
filter 为数组中的每个元素调用一次 callback 函数,并利用所有使得 callback 返回 true 或 等
价于 true 的值 的元素创建一个新数组。那些没有通过 callback 测试的元素会被跳过,不会被
包含在新数组中。filter 不会改变原数组。

语法:array.filter(function(currentValue,index,arr), thisValue)

参数如下:

请添加图片描述

示例如下

请添加图片描述

every方法
作用:该方法用来判断数组中的每个元素是否都满足条件 只返回布尔值 都满足条件返回true 只要有一个不满足就返回false

示例如下
请添加图片描述
some方法
作用:判断数组中是否有一个元素满足条件 返回布尔值 只要有一个满足就返回true 都不满足返回false

示例如下
请添加图片描述

八、其他

flat方法
作用:该方法用于将一个多维数组变成一维数组 该方法返回一个新数组 对原数组没影响

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值