es6多维数组find()和findIndex()使用方法详解
Song •
2857 次浏览 •
0个评论 •
2018年08月06日
在JS
中我们常常需要对数组/多维数组进行查询,穿透的方法都不够方便,所以我们来看看find()
和findIndex()
使用方法详解
一、Find方法
find
方法用于找出第一个符合条件的数组成员。它的参数是一个回调函数,所有数组成员依次执行该回调函数,直到找出第一个返回值为true
的成员然后返回该成员,否则返回undefined
。
var array = [{"id":"1","name":"姓名1"},{"id":"2","name":"姓名2"},{"id":"3","name":"姓名3"}];
var result = array.find(function(value, index, arr) {
return value.id === 1;
})
# 输出{"id":"1","name":"姓名1"}
上面代码中,find方法的回调函数可以接受三个参数:
- value: 当前的数组的值
- index: 当前的位置
- arr: 原数组
二、findIndex方法
findIndex
方法与find
方法非常类似;返回第一个
符合条件的数组成员的位置
;如果所有成员都不符合条件,则返回-1
。
array.findIndex(function(value, index, arr) {
return value.id > 2;
})
# 输出{"id":"3","name":"姓名3"}
两个方法都可以接受第二个参数,用来绑定回调函数的this
对象;另外,这两个方法都可以发现NaN
,弥补了数组的IndexOf
方法的不足。
[NaN].indexOf(NaN)
// -1
[NaN].findIndex(y => Object.is(NaN, y))
// 0
用户评论
当前暂无评价,快来发表您的观点吧...
更多相关好文
当前暂无更多相关好文推荐...
-
微信公众号文章/菜单添加小程序时路径如何获取? 2021-12-22
-
如何轻松获取微信小程序路径path? 2021-12-22
-
cannot import name 'CUDA_HOME' from 'mmcv.utils' 2021-12-05
-
vgg的loss一轮达到ln(1/n)阈值,如何解决 2021-11-21
-
如何下载使用utils库 2021-10-27
热门文章
-
微信公众号文章/菜单添加小程序时路径如何获取? 2021-12-22
-
如何轻松获取微信小程序路径path? 2021-12-22
-
python/MySQL分页查询方法与性能优化 2021-06-23
-
mitmproxy & python 忽略所有的https/ssl请求 2021-04-19
-
如何使用邮件/邮箱推广微信公众号/小程序? 2021-01-28
栏目最新文章
公告提示
- pytorch中文文档
- pytorch官方文档
提交评论