ES6--数组实例的find()和findIndex()用法对比
发布日期:2021-05-20 10:07:17
浏览次数:40
分类:技术文章
本文共 847 字,大约阅读时间需要 2 分钟。
ES6–数组实例的find()和findIndex()
数组实例的find() 用于找出第一个符合条件的数组元素。它的参数是一个回调函数,所有的数组元素一次遍历该回调函数,直到找出第一个返回值为true 的元素,然后返回该元素,否则返回 undefined
[1, 5, 10, 15].find(function(value, index, arr) { return value > 9;}) // 10
从上面例子可以看到,回调函数接受三个参数,依次为当前的值, 当前的位置和原数组。
数组实例的findIndex()用法和find()非常类似,返回第一个符合条件的数组元素和位置,如果所以的元素都不符合条件,则返回 -1.[1, 5, 10, 15].findIndex(function(value, index, arr) { return value > 9;}) //2
这两个方法都可以接受第二个参数,用来绑定回调函数的this 对象
再贴一段代码
var users = [ { id: 1, name: '张三'}, { id: 2, name: '张三'}, { id: 3, name: '张三'}, { id: 4, name: '张三'} ]Array.prototype.myFind = function (conditionFunc) { for (var i = 0; i < this.length; i++) { if (conditionFunc(this[i], i)) { return this[i] } }}var ret = users.myFind(function (item, index) { return item.id === 2})console.log(ret)
转载地址:https://blog.csdn.net/weixin_45416217/article/details/99293696 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年03月31日 17时40分59秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
【面试篇】Java锁体系
2019-04-26
【面试篇】JVM体系
2019-04-26
【Leetcode刷题篇】leetcode406 根据身高重建队列
2019-04-26
【Leetcode刷题篇】leetcode581 最短无序连续子数组
2019-04-26
【Leetcode刷题篇】leetcode538 把二叉搜索树转换为累加树
2019-04-26
【多线程与高并发】线程的优先级是怎么回事?
2019-04-26
【多线程与高并发】Java守护线程是什么?什么是Java的守护线程?
2019-04-26
【Leetcode刷题篇/面试篇】-前缀树(Trie)
2019-04-26
【Leetcode刷题篇】leetcode337 打家劫舍III
2019-04-26
【Leetcode刷题篇】leetcode4 寻找两个正序数组的中位数
2019-04-26
【Leetcode刷题篇】leetcode316 去除重复字母
2019-04-26
【Leetcode刷题篇】leetcode1081 不同字符的最小子序列
2019-04-26
【面试篇】Java网络编程与IO流体系
2019-04-26
【Leetcode刷题篇】leetcode84 柱状图中最大的矩形
2019-04-26
【Leetcode刷题篇】leetcode85 最大矩形
2019-04-26
【Leetcode刷题篇】leetcode124 二叉树中的最大路径和
2019-04-26
【Leetcode刷题篇】leetcode297 二叉树的序列化与反序列化
2019-04-26
【Leetcode刷题篇】leetcode301 删除无效的括号
2019-04-26
【Leetcode刷题篇】leetcode239 滑动窗口最大值
2019-04-26
【Leetcode刷题篇】leetcode76 最小覆盖子串
2019-04-26