every 方法测试一个数组内的所有元素是否都能通过某个指定函数的测试,全部通过测试就返回true,一旦有一个元素不通过测试则立马返回false。

下面自己实现一个every

var arr = [1,3,5,7,9]
Array.prototype.myEvery=function(callback){//如果没有传入回调函数,则报错if(!callback) throw new TypeError('undefined is not a function');if (typeof callback !== 'function') {//传入的不是函数也报错throw new TypeError(callback + " is not a function");}for(var i=0,len=this.length;i<len;i++){if(!callback(this[i],i,this)){//如果回调函数的返回值为false ,则终止循环,返回falsereturn false;}}return true;//最终没有匹配到就返回true
}
var res=arr.myEvery(function(item,index,thisArr){console.log(item,index,thisArr);return item>1
});
console.log(res);

结果:

1 0 (5) [1, 3, 5, 7, 9]
false

将函数里面的     return item>1 改成     return item>0 再执行一下。

var arr = [1,3,5,7,9]
Array.prototype.myEvery=function(callback){//如果没有传入回调函数,则报错if(!callback) throw new TypeError('undefined is not a function');if (typeof callback !== 'function') {//传入的不是函数也报错throw new TypeError(callback + " is not a function");}for(var i=0,len=this.length;i<len;i++){if(!callback(this[i],i,this)){//如果回调函数的返回值为false ,则终止循环,返回falsereturn false;}}return true;//最终没有匹配到就返回true
}
var res=arr.myEvery(function(item,index,thisArr){return item>0
});
console.log(res);

输出:

true

就当前实例来讲只有数组的全部元素都大于0的情况下才返回true;否则一遇到不通过的就立马停止执行并返回false。

原生js源码之Array数组的every方法相关推荐

  1. 原生js源码之Array数组reverse方法

    reverse方法将数组中元素的位置颠倒,并返回该数组.数组的第一个元素会变成最后一个,数组的最后一个元素变成第一个.该方法会改变原数组. 语法:arr.reverse() 下面自己来实现: Arra ...

  2. php tire树,Immutable.js源码之List 类型的详细解析(附示例)

    本篇文章给大家带来的内容是关于Immutable.js源码之List 类型的详细解析(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 一.存储图解 我以下面这段代码为例子,画 ...

  3. 从template到DOM(Vue.js源码角度看内部运行机制)

    写在前面 这篇文章算是对最近写的一系列Vue.js源码的文章(github.com/answershuto-)的总结吧,在阅读源码的过程中也确实受益匪浅,希望自己的这些产出也会对同样想要学习Vue.j ...

  4. Vue.js 框架源码与进阶 - Vue.js 源码剖析 - 响应式原理

    文章目录 一.准备工作 1.1 Vue 源码的获取 1.2 源目录结构 1.3 了解 Flow 1.4 调试设置 1.5 Vue 的不同构建版本 1.6 寻找入口文件 1.7 从入口开始 二.Vue ...

  5. 【笔记-vue】《imooc-vue.js高仿饿了么》、《imooc-vue 音乐app》、《imooc-vue.js源码全方位解析》

    20170709 - 20171128:<imooc-vue.js高仿饿了么> 一.第一章 课程简介 1-1课程简介 1.需求分析-脚手架工具-数据mock-架构设计-代码编写-自测-编译 ...

  6. Evil.js源码解读

    https://github.com/duo001/evil.js 火爆全网的 Evil.js 源码解读 火爆全网的 Evil.js 源码解读 什么?黑心996公司要让你提桶跑路了? 想在离开前给你们 ...

  7. vue.js源码学习分享(一)

    今天看了vue.js源码  发现非常不错,想一边看一遍写博客和大家分享 /*** Convert a value to a string that is actually rendered. *转换一 ...

  8. 从Vue.js源码中我学到的几个实用函数

    大家好,我是若川.欢迎加我微信 ruochuan12,长期交流学习.今天推荐Vuejs源码中几个实用的方法. 如果想看Vuejs源码,不知道如何下手,一般推荐配置Sourcemap,针对单个问题调试来 ...

  9. 【Vue.js源码解析 一】-- 响应式原理

    前言 笔记来源:拉勾教育 大前端高薪训练营 阅读建议:建议通过左侧导航栏进行阅读 课程目标 Vue.js 的静态成员和实例成员初始化过程 首次渲染的过程 数据响应式原理 – 最核心的特性之一 准备工作 ...

最新文章

  1. #在蓝懿学习iOS的日子#第六个练习日
  2. MemSQL初体验 - (1)传说中速度最快的关系数据库软件
  3. 读取txt文件赋值到DataGridView中
  4. linux路由内核实现分析(四)---路由缓存机制(4)
  5. Linux Crontab内环境变量与Shell环境变量的关系及解决问题的办法
  6. 【转】 CSS3实现10种Loading效果
  7. 人脸关键点检测 face keypoint detect
  8. stm8s003中串口中断问题
  9. C-Euclidean Distance (牛客多校第一场)均值不等式或者 KTT(?)
  10. 查看服务器配置以及常用命令
  11. Intel IPP库概述,合计共5000个函数
  12. 如何将lvm卷移动到另一台服务器中
  13. 机器学习中的启发式算法(heuristic algorithm)
  14. 【方法】Latex使用BibTeX生成参考文献列表
  15. 2022-2028年中国质量检验检测行业市场全景调查及投资潜力研究报告
  16. 目标检测论文解读复现之十五:基于YOLOv5的光学遥感图像舰船 目标检测算法
  17. 关于浏览器自动安装Screenshot Pro拓展的问题
  18. 淘宝开放平台API接口,接入方案如下
  19. opengl 编程指南源码下载与环境配置
  20. 后台如何实现对APP版本更新管理?

热门文章

  1. android中使用dimen定义尺寸 .
  2. 小型企业网的搭建(企业网三层架构)
  3. ubuntu插入U盘,无法识别
  4. Trac使用之 — Ticket
  5. bundle、chunk、module的区别
  6. munmap_chunk(): invalid pointer:
  7. 汇编指令学习(ADD,SUB,MUL,DIV,XADD,INC,DEC,NEG)
  8. 最小二乘法直线拟合及其Matlab实现
  9. 什么是PEP8编码风格?
  10. MySQL备份(一)增量