数组(三)
12. indexOf()
使用方法:
1. 数组.indexOf(数据)
arr.indexOf()
2. 数组.indexOf(数据, 开始索引)
从哪个索引开始向后查找
作用: 正向查看数组里面指定这个数据得索引
返回值:
如果有这个数据, 是第一个满足条件得数据得索引
如果没有这个数据, 那么是 -1
13. lastIndexOf()
使用方法:
1. 数组.lastIndexOf(数据)
2. 数组.lastIndexOf(数据, 开始索引)
作用: 反向查看数组里面指定这个数据得索引
返回值:
如果有, 就是找到得第一个数据得索引
如果没有就是 -1
注意: 虽然是从后向前查找, 但是索引还是正常索引
indexOf()和 lastIndexOf()都是用于返回元素在数组中第一次被查找到的索引位置,如果没有找到,那么返回-1。 includes()返回布尔值,表示是否至少找到一个与指定元素匹配的项。
他们都接受以下两个函数:
第一个参数是要查找的东西
第二个参数是查找起点位置的索引,如果缺省或是格式不正确,那么默认为 0。第二个参数可选
区别就是一个从前往后找,一个从后往前找,这里就不在代码展示了 。
14. forEach()
使用方法: 数组.forEach(function (item, index, arr) {})
item: 数组得每一项
index: 数组每一项得索引
arr: 原始数组
作用: 取代 for 循环得作用, 遍历数组
没有返回值
本质 上,forEach()方法相当于使用 for 循环遍历数组。
15. map()
使用方法: 数组.map(function (item, index, arr) {})
item: 数组得每一项
index: 数组每一项得索引
arr: 原始数组
作用: 映射数组
返回值: 是一个新的数组
map():对数组每一项都运行传入的函数,返回由每次函数调用的结果构成的数组。
不改变原始数组
这个方法非常适合创建一个与原 始数组元素一一对应的新数组。
17. every()
使用方法: 数组.every(function (item, index, arr) {})
item: 数组得每一项
index: 数组每一项得索引
arr: 原始数组
作用: 判断原始数组里面是不是每一个都满足条件
返回值: 是一个布尔值
对 every() 来说,传入的函数必须对每一项都返回 true,它才会返回 true;否则,它就返回 false。
18 some()
使用方法: 数组.some(function (item, index, arr) {})
判断数组中是不是有某一个满足条件
some() 来说,只要有一项让传入的函数返回 true,它就会返回 true。
如上代码调用了 every()和 some(),传入的函数都是在给定项大于 2 时返回 true。every()返 回 false 是因为其中每一项或多项没能达到要求。而 some()返回 true 是满足一项条件即可。
19. flat()
语法: 数组.flat(数字)
数字: 表示扁平化多少层, 默认是 1
数字这个参数还可以填写 Infinity
作用: 拍平数组
返回值: 拍平以后得数组
20. flatMap()
语法: 数组.flatMap(function (item, index, arr) {})
作用: 拍平数组, 但是只能拍一层
返回值: 是一个新的数组
一边拍平, 一边映射
23. find()
语法: 数组.find(function (item) {})
作用: 根据条件找到数组里面满足条件得数据
返回值: 找到得那个 **数据**
24. findIndex()
语法: 数组.findIndex(function (item) {})
作用: 根据条件找到数组里面满足条件得数据
返回值: 找到得那个 **数据得索引**
三天时间终于写好了,断断续续,最近上班也是忙碌的不行,虽说很辛苦,但是现在对数组操作方法,整体清晰了很多,收获颇多,文章如有不正确的地方欢迎来稿私聊!希望大家看完可以有所收获,晚安
版权声明: 本文为 InfoQ 作者【Jason199】的原创文章。
原文链接:【http://xie.infoq.cn/article/15b2a264f6b5eec5528c5085e】。
本文遵守【CC BY-NC】协议,转载请保留原文出处及本版权声明。
评论