zoukankan      html  css  js  c++  java
  • Array.find()和Array.findIndex()

    ES6新增的两个方法,根据回调函数返回作为判断依据,按照数组顺序进行遍历,符合条件(为真)时find()返回该值、findIndex()返回下标。

    1.语法

    arr.find(callback[, thisArg])

    arr.findIndex(callback[, thisArg])

    • callback为回调函数,有三个参数:value(数组遍历到的当前值)、index(当前下标)、arr(当前数组)。
    • thisArg可选,执行callback时作为this对象的值。

    2.使用

    我们可以简单测试一下:

    var arr = [1,2,7,8,34,2,15,8];
    var v = arr.find((value,index,arr) => {
    	return value > 10;
    });
    console.log('v='+v);//v=34
    var i = arr.findIndex((value,index,arr) => {
    	return value > 3;
    });
    console.log('i='+i);//i=2
    

    3.源码

    根据描述我们可以大致写出这两个方法实现的代码:

    Array.prototype.myfind = function(callback,THIS) {
    	THIS = THIS || this;
    	for(var i=0;i < this.length;i++){
    		if(callback(this[i],i,this)){
    			return this[i];
    		}
    	}
    };
    Array.prototype.myfindindex = function(callback) {
    	for(var i=0;i < this.length;i++){
    		if(callback(this[i],i,this)){
    			return i;
    		}
    	}
    	return -1;
    };
    //测试
    var arr = [1,2,7,8,34,2,15,8];
    var v = arr.myfind((value,index,arr) => {
    	return value > 10;
    });
    console.log('v='+v);//v=34
    var i = arr.myfindindex((value,index,arr) => {
    	return value > 3;
    });
    console.log('i='+i);//i=2
    

    可参考官方文档

  • 相关阅读:
    win7 IIS配置及设置
    JS高效关键字搜索转
    CLR读书笔记第四章 类型基础
    SQL语句执行顺序
    JS常用方法转
    js 设置url参数转
    随机生成 字体大小转
    jquery获得select option的值 和对select option的操作转自(紫寒)
    前端开发者基本要求转
    2 Request对象的一些属性等
  • 原文地址:https://www.cnblogs.com/fzz9/p/9931557.html
Copyright © 2011-2022 走看看