Lodash 方法库 原生实现 待完结。。。

 1 let _ = {
 2     chunk(arr, nub) {
 3         var res = [];
 4         for (var i = 0; i < arr.length; i += nub) {
 5             result.push(arr.slice(i, i + nub))
 6         };
 7         console.log(res)
 8         return result;
 9     },
10     compact (arr) {
11         let res = [];
12         arr.forEach( item => {
13             typeof item === ‘number‘ && res.push(item)
14         } );
15         console.log(res)
16         return res
17     }
18 };
19
20 _.chunk([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], 3)
21 _.compact([0, 1, false, 2, ‘‘, 3, null, ‘1‘]);

原文地址:https://www.cnblogs.com/vant850/p/10474323.html

时间: 2024-08-13 07:15:29

Lodash 方法库 原生实现 待完结。。。的相关文章

js原生设计模式——8单例模式之简约版属性样式方法库

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>单例模式——在js中就是指的单个对象,可用于命名空间声明</title> </head><body>    <div id="box"></div></body><

js原生捕鱼达人(三)--完结

先给分享下我写完的效果,github有点卡,我没有压缩代码,不过效果可以看到 https://jasonwang911.github.io/ 转载请注明'转载于Jason齐齐的博客http://www.cnblogs.com/jasonwang2y60/' 继续昨天的进行 11>添加金币   相同的创建了coin.js的文件 //添加金币的构造含函数 function Coin(type){ this.type=type; this.x=0; this.y=0; this.cur=0; this

lodash源码学习(10)

_.delay(func, wait, [args]) 延迟wait毫秒之后调用该函数,添加的参数为函数调用时的参数 //delay.js var baseDelay = require('./_baseDelay'),//baseDelay方法 baseRest = require('./_baseRest'),//创建使用rest参数方法 toNumber = require('./toNumber');//转化为数字 /** * * @param {Function} func 需要延迟执

lodash源码学习(2)

继续学习lodash,依然是数组的方法 “Array” Methods _.indexOf(array, value, [fromIndex=0]) 获取value在数组 array所在的索引值 使用 SameValueZero方式比较(第一个全等===的元素). 如果 fromIndex 值是负数, 则从array末尾起算 该方法依赖于strictIndexOf和baseIndexOf方法,先看它们的源码 //_strictIndexOf.js /** * _.indexOf的专业版本,对元素

lodash源码(2)

1.flatten 对深层嵌套数组的抹平 _.flatten([1, [2, 3, [4]]]);* // => [1, 2, 3, [4]]** // using `isDeep`* _.flatten([1, [2, 3, [4]]], true);* // => [1, 2, 3, 4]在方法中使用了递归的算法: 1.递归的产生条件 2.递归的结束条件 递归就是数学的归纳法,采用数据结构的栈的模式自己做的递归的一个算法(原lodash涉及了很多个文件,这里只是提供了一个简单的思路.并没有

Selenium2学习-042-Selenium3启动Firefox Version 48.x浏览器(ff 原生 geckodriver 诞生)

今天又被坑了一把,不知谁把 Slave 机的火狐浏览器版本升级为了 48 的版本,导致网页自动化测试脚本无法启动火狐的浏览器,相关的网页自动化脚本全线飘红(可惜不是股票,哈哈哈...),报版本不兼容的错误(当前 selenium-server 版本为 2.53.1,火狐升级后版本为 48.0.2). 查看了一下,发现 Selenium 3 也在众所期望中登场了,从其官网的更新历史可知其主要特性如下所示: 1.全面支持JDK8.毕竟JDK8是Oracle官方支持的版本,同时若想使用 java bi

lodash

什么是lodash? lodash是一个javascript库,也是Node JS的常用模块,可以用 npm install -g lodash 命令安装. lodash可以用来做什么? 软件产品大都是根据广泛的需求应运而生的,很少有东西先做出来,然后再看看它可以应用到哪些地方.原生的javascript在功能实现上面更原子化,很多常用功能没有形成模块.lodash做了这些事情.比如,合并数组: _.union([1,2,3],[2,3,4]); //result: [1,2,3,4] JQue

项目中使用过的lodash方法总结

_.findWhere 对集合中的每个元素和源进行深度比较. 该方法支持比较数组.布尔值.数字.日期对象,对象的对象,正则表达式.字符串. Ex: var users = [ { 'user': 'barney', 'age': 36, 'active': true }, { 'user': 'fred',   'age': 40, 'active': false } ]; _.result(_.findWhere(users, { 'age': 36, 'active': true }), '

lodash源码学习debounce,throttle

函数去抖(debounce)和函数节流(throttle)通常是用于优化浏览器中频繁触发的事件,具体内容可以看这篇文章http://www.cnblogs.com/fsjohnhuang/p/4147810.html 直接看lodash中对应方法的实现 _.debounce(func, [wait=0], [options={}]) //debounce.js var isObject = require('./isObject'),//是否是对象 now = require('./now'),