nodejs lodash的一些函数

1   _.compact用法   _.compact([0, 1, false, 2, ‘‘, 3,‘mm‘]);

 var test = _.compact([-1,0, 1, false, 2, ‘‘, 3,‘jj‘]);
    console.log(test);
----1,1,2,3,jj//输出  没有 0 false 空格

2_.different用法

var test = _.difference([1, 2, 3, 4, 5], [5, 2, 10]);
    console.log(test);
1,3,4//输出结果  是输出第一个数组有第二个数组没有 

3_.find用法

 var characters = [
  { ‘name‘: ‘barney‘,  ‘age‘: 36, ‘blocked‘: false },
  { ‘name‘: ‘fred‘,    ‘age‘: 40, ‘blocked‘: true },
  { ‘name‘: ‘pebbles‘, ‘age‘: 1,  ‘blocked‘: false }
];

_.find(characters, function(chr) {
    console.log(chr.age);
  return chr.age < 40;
});查找
for (var n = 0; n < activities.length; n++) {
       if (activities[n].name == bidList[0].activityName) {  

               //(中间代码省略)中间假设是对循环找到的活动的对象中的一个属性进行改动,比如status,将它的值改为0;  

}
用_.find方法替换
_.find(activities,function(activity){ return activity.name == bidList[0].activityName}).status = 0;  //这样我们就通过find找到对应的对象并进行改值 

4  用map 去除一些for循环

var a = [0,1,2,3,4]
for (var i = 0;i < a.length;i++){
      a[i] = a[i]+1;
}  

替换以后

_.map(a,function(num){
     return num = num + 1;
})  

5  替换for以后 就替换 if

var a;
if(activities.length){
      a = 1;
}
if(!activities.legth){
      a = 0;
}  

替换以后

var a = activities.length ? 1 : 0; 

重构还有好多知识 ,现在只把自己用到的把他们梳理一下 ,以后继续总结。

以上就介绍了JavaScript lodash用法小结,包括了方面的内容,希望对Javascript教程有兴趣的朋友有所帮助。

时间: 2024-10-21 21:20:23

nodejs lodash的一些函数的相关文章

慎用lodash的cloneDeep函数

lodash的cloneDeep函数能够很方便的拷贝对象,但是一旦拷贝一些很复杂的对象就有可能报错.比如用cloneDeep克隆一个vue实例,就有可能包key.charAt is not a Function的错.(正确的拷贝方法是Vue.extend()).一般来说复杂的对象都会内置拷贝方法,使用内置的方法拷贝会比lodash的cloneDeep要安全得多.遇到比较简单的对象我们们应该直接调用clone方法而不是cloneDeep(或者JSON.parse(JSON.stringify(ob

nodejs中处理回调函数的异常

假设是使用nodejs+express3这个经典的组合.那么有一种非常方面的处理回调函数异常的方法: 1. 安装模块:express-domain-middleware 2. 增加例如以下的代码: app.use(require('express-domain-middleware')); app.use(function errorHandler(err, req, res, next) { logger.error('error on request %d %s %s: %j', proce

Nodejs的运行原理-函数回调篇

前言 当客户端向http server 发起TCP链接时,server端会发起一系列的callback调用,这是一个逆向调用的过程:开始于libuv,终止于js代码里的callback(promise then)函数. 如下图所示,http server 正向调用过程,实际大部分的时间花在net.js上,直到最下面的红框,才调用了关键函数createTCP() function createTCP() { //绑定tcp_wrap模块,调用tcp constructor. var TCP = p

electron/nodejs实现调用golang函数

https://www.jianshu.com/p/a3be0d206d4c 思路 golang 支持编译成c shared library, 也就是系统中常见的.so(windows下是dll)后缀的动态链接库文件. c++可以调用动态链接库,所以基本思路是golang开发主要功能, c++开发插件包装golang函数,实现中转调用 对于类型问题, 为了方便处理, 暴露的golang函数统一接受并返回字符串, 需要传的参数都经过json编码, 返回值亦然. 这里实现了3种调用方式, 同步调用,

nodejs学习笔记 --回调函数

Node.js异步编程的直接体现就是回调 异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了 回调函数在完成任务后就会被调用,Node使用了大量的回调函数,Node所有的API都支持回调函数 例如,我们可以一边读取文件,一边执行其他命令,在文件读取完成后,我们将文件内容作为回调函数的参数返回.这样在执行代码时就没有阻塞或等待文件 I/O 操作.这就大大提高了 Node.js 的性能,可以处理大量的并发请求. 阻塞代码实例 创建一个input.txt,内容如下:(注意保存编码格式为UTF

nodejs中的全局函数setTimeout/clearTimeout,setInterval/clearInterval,unref/ref

/** global的函数和方法*1.setTimeout.clearTimeout 多长时间后执行函数(只执行一次)*2.setInterval.clearInterval 每隔多少秒执行一次的计时器*3.unref,ref 停止和启动计时器(针对setInterval)*/ //1.setTimeout.clearTimeout// A.指定多长时间后执行函数和清楚函数function timer(){ console.log("This is loading after 500S. &qu

Nodejs计时器定时执行函数

一.最low的定时器: 每次执行完间隔5s,然后继续执行 (function schedule() { setTimeout(do_it, 5000, schedule); }()); function do_it(callback) { var times = new Date(); console.log(times.getSeconds()); callback(); }; 二.逼格高一点使用插件 node-schedule 安装:npm install node-schedule 1.确

lodash用法系列(3),使用函数

Lodash用来操作对象和集合,比Underscore拥有更多的功能和更好的性能. 官网:https://lodash.com/引用:<script src="//cdnjs.cloudflare.com/ajax/libs/lodash.js/2.4.1/lodash.min.js"></script>安装:npm install lodash 首先通过npm安装lodash:npm i --save lodash 在js文件中引用lodash:var _ =

JavaScript工具库之Lodash

你还在为JavaScript中的数据转换.匹配.查找等烦恼吗?一堆看似简单的foreach,却冗长无趣,可仍还在不停的repeat it!也许你已经用上了Underscore.js,不错,你已经进步很大一步了.然而今天我希望你能更进一步,利用lodash替换掉 Underscore. lodash一开始是Underscore.js库的一个fork,因为和其他(Underscore.js的)贡献者意见相左.John- David Dalton的最初目标,是提供更多“一致的跨浏览器行为……,并改善性