zepto源码--$.map,$.each,$.grep--学习笔记
2024-08-26 16:01:15
从相对比较简单的说起:
1、$.grep 获取一个新数组,新数组只包含回调函数中返回 true 的数组项。
调用javascript中数组原生函数filter,对elements进行过滤,保留回调函数返回值为真的数组项。
2、$.map 通过遍历集合中的元素,返回通过迭代函数的全部结果,null
和 undefined
将被过滤掉。
刚开始使用的时候会对$.map和$.each产生一定的误解。从一定程度上来书,两者都是对集合中的元素进行遍历。
可以遍历数组和键值对的集合,$.map返回的是一个过滤了null和undefined的新的数组。
从源码上来看,不管是数组,还是键值对都调用了callback(elements[i], i)函数,并取得执行结果,赋值给value,如果value不为null,则作为合理值存入values,返回出来。
3、$.each 遍历数组元素或以key-value值对方式遍历对象。回调函数返回 false
时停止遍历。
对比$.map源码中,$.each内部也是执行了callback(elements[i], i),但是执行结果并不进行赋值,只是当该结果为false时,直接停止遍历。
直白点来说:
$.map执行回调之后,返回符合回调结果的值组成的新数组集合;
$.each主要是遍历集合,对集合进行操作
最新文章
- 跟我从零基础学习Unity3D开发--U3d脚本注意事项及两个基本函数的简单介绍
- IIS如何配置可以下载APK、IPA文件
- 如何在Outlook中打开后缀 .eml 的附件
- 【转】linux yum命令详解
- iOS Xcode注释的几种使用方法
- 【erlang】IPv6格式转IPv4
- UVA 12723 Dudu, the Possum --数学期望
- WPF MenuItem 四种角色分析
- bzoj2584
- 暴力求解——hdu 1799 循环多少次?
- LeetCode_Pascal's Triangle II
- first blood暴力搜索,剪枝是关键
- bootstrap之Swipe
- MVC 视图助手书写规范及注意点
- redis面试必问
- 关于STRUCT优化的一个点
- PYTHON HTML.PARSER库学习小结--转载
- 8-[表操作]--foreign key、表与表的关系
- tensorflow中使用mnist数据集训练全连接神经网络-学习笔记
- 二进制拆位(贪心)【p2114】[NOI2014]起床困难综合症
热门文章
- HealthKit开发快速入门教程之HealthKit数据的操作
- Jquery操作
- BZOJ4399 : 魔法少女LJJ
- word统计章节字数
- BZOJ 1036 &;&; 树链剖分
- Codeforces Round #206 (Div. 2) A. Vasya and Digital Root
- html页面元素加载顺序
- Redis内存存储结构分析
- zabbix自定义键值原理
- Embedded Database service fails to start after installing or migrating to Symantec Endpoint Protection (SEP) 12.1.5 (RU5)