js中find和findIndex的使用
ES6为Array增加了find(),findIndex函数。
find()函数用来查找目标元素,找到就返回该元素,找不到返回undefined。
findIndex()函数也是查找目标元素,找到就返回元素的位置,找不到就返回-1。
他们的都是一个查找回调函数。
[1, 2, 3, 4].find((value, index, arr) => {})
查找函数有三个参数。
value:每一次迭代查找的数组元素。
index:每一次迭代查找的数组元素索引。
arr:被查找的数组。
1.查找元素,返回找到的值,找不到返回undefined。
const arr1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
var ret1 = arr1.find((value, index, arr) => {return value > 4
})var ret2 = arr1.find((value, index, arr) => {return value > 14
})
console.log('%s', ret1)
console.log('%s', ret2)
结果:
5
undefined
2.查找元素,返回找到的index,找不到返回-1。
var ret3 = arr1.findIndex((value, index, arr) => {return value > 4
})var ret4 = arr1.findIndex((value, index, arr) => {return value > 14
})
console.log('%s', ret3)
console.log('%s', ret4)
结果:
4
-1
3.查找NaN。
const arr2 = [1, 2, NaN, 4, 5, 6, 7, 8, 9, 10, 11]
var ret5 = arr2.find((value, index, arr) => {return Object.is(NaN, value)
})var ret6 = arr2.findIndex((value, index, arr) => {return Object.is(NaN, value)
})
console.log('%s', ret5)
console.log('%s', ret6)
结果:
NaN
2
案例:
var active_index = this.right_height.findIndex((value, index, arr) =>(value <= scroll_top && scroll_top < arr[index + 1]&&index!=this.goods.length-1)||( index==this.goods.length-1 && value <= scroll_top));
js中find和findIndex的使用相关推荐
- JS中find()和findIndex()
find() 返回数组中符合条件的第一个值,都不符合条件返回undefined. 格式:find(function(item, index, array) { - }, thisArg) item:当 ...
- JS中find(), findIndex(), filter(), forEach(), some(), every(), map()方法
1. find()与findIndex() find()方法,用于找出第一个符合条件的数组成员.它的参数是一个回调函数,所有数组成员依次执行该回调函数,直到找出第一个返回值为true的成员,然后返回该 ...
- JS中数组查询的方法indexOf()、lastIndexOf()、includes()、find()、findIndex()、filter()、every()
JS中涉及到数组查询的方法见下表: 方法 描述 参数 返回值 indexOf() 搜索数组中的元素,并返回它所在的位置. 要搜索的元素 ,查找的起始位置 元素第一次出现的索引 lastIndexOf( ...
- js中常用的数组和字符串方法
一:js中常用的数组方法 <script>//函数声明式中的方法const arr=[1,3,6,9,15,19,16];//函数的所有方法 map(),reduce(),filter() ...
- JS中关于构造函数、原型链、prototype、constructor、instanceof、__proto__属性
在Javascript不存在类(Class)的概念,javascript中不是基于类的,而是通过构造函数(constructor)和原型链(prototype chains)实现的.但是在ES6中引入 ...
- Js中Array对象
Js中Array对象 JavaScript的Array对象是用于构造数组的全局对象,数组是类似于列表的高阶对象. 描述 在JavaScript中通常可以使用Array构造器与字面量的方式创建数组. c ...
- js数组获取index_通过事例重温一下 JS 中 常见的15 种数组操作(备忘清单),收藏...
数组是 JS 中广泛使用的数据结构.数组对象提供了大量有用的方法,如array. forEach().array.map()等来操作数组. 在实战中,我经常对数组可能的操作和相应采用哪个更好的方法不知 ...
- js数组获取index_通过事例重温一下常见的 JS 中 15 种数组操作(备忘清单)
作者:Dmitri Pavlutin 译者:前端小智 来源:dmitripavlutin.com 最近几天,公众号无套路抽奖现金 200,参与方式如下: 存而不论是一种对舆论场合的改善?(每月一次抽大 ...
- js中数组常用的方法总结,包括ES6
原文地址:js中数组常用的方法总结,包括ES6 1.push() 后增 push()方法可以向数组后添加一个新的元素,并返回新数组的长度. 末尾添加,返回长度,改变原数组 var a = [1,2,3 ...
最新文章
- Android_Sqlbrite入门使用
- 9个元素换6次达到排序序列_一文带你读懂排序算法(三):堆排序算法
- Linux系统安装中文环境,中文帮助,中文输入法的实现
- SQLite 分离数据库(http://www.w3cschool.cc/sqlite/sqlite-detach-database.html)
- 未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序。
- Java Throwable setStackTrace()方法与示例
- C语言 __DATE__ - C语言零基础入门教程
- ubuntu14操作系统chrome标签和书签乱码解决
- java.util.concurrent.atomic.AtomicBoolean 源码
- gitHub客户端的安装与使用总结
- 论文阅读之Siamese RPN以及一些其他内容的补充
- ps----高低频磨皮--------中性灰磨皮-----------双曲线磨皮
- Jenkins怎么发邮件,5年字节自动化大神手把手教你
- Flutter—— 仿自如APP裸眼3D效果
- 2021年度软件企业 100 强榜单(附全名单)有你么?
- 插件小王子的插件源码汇总
- 使用IPMI安装操作系统--超微服务器为例,以及ipmivier安装与使用
- 肝进ICU,万字真言点化八大排序——我奶奶都看得懂的算法详解
- 【算法千题案例】每日一练LeetCode打卡——108.独特的电子邮件地址
- (总)百度AI 平台API调用