Lodash数组篇

摘要:
概念简述lodash是一个类库Lodash通过降低array、number、objects、string等等的使用难度从而让JavaScript变得更简单用法let_=require数组篇1、_.chunk切割数组作用:讲数组array拆分成多个size长度的区块,并将这些区块组成一个新的数组,如果array无法分割成等长的区块,那么最后的剩余元素将组成一个区块。

概念简述

  • lodash 是一个类库
  • Lodash 通过降低 array、number、objects、string 等等的使用难度从而让 JavaScript 变得更简单
  • 用法let _ = require('lodash')

数组篇

1、_.chunk(array,[size=1]) 切割数组

作用: 讲数组array拆分成多个size长度的区块,并将这些区块组成一个新的数组,

如果array无法分割成等长的区块,那么最后的剩余元素将组成一个区块。

  • 参数 array :需要处理的数组 size=1(number):每个数组区块的长度
  • 返回 (Array):返回一个包含拆分区块的新数组(相当于二维数组)
  • demo
        let _ = require("lodash");
        let arr = [1, 2, 3, 4, 5, 6];
        let arr_result = _.chunk(arr, 2);
        console.log(arr_result);
    //结果[[1,2],[3,4],[5,6]]//如果第二个参数要是4则变成 [[1,2,3,4],[5,6]]

    2、 _.compact(array) 刨去假值

  •     let _ = require("lodash");
        let arr = [0, 1, NaN, 2, null, 3, undefined];
        let arr_result =_.compact(arr);
        console.log(arr_result);
    //结果 [1,2,3]

    3、_.concat(array,[values]) 两个数组链接起来

        let _ = require("lodash");
        let arr = [1];
        let arr2 = _.concat(arr, 2, [3], [[4]], { name: "张三"});
        console.log(arr2);
    // 结果 [1, 2, 3, [4], {name: '张三'}]

    4、_.difference(array,[values]) 找出数组中不包含另一个数组中的元素

  • array:要检查的数组
    [values] :要排除的值
  •     let _ = require("lodash");
        let result = _.difference([3, 2, 100], [100, 2]);
        console.log(result);
    //结果就是[3]

    5、_.differenceBy(array,[values],condition) 支持数组对象

  • array:要检查的数组
    [values] :要排除的值
    条件 :他是先把2个数组里面的所有值都执行一遍条件,然后筛选出来
  •     let _ = require("lodash");
        let result =_.differenceBy(
          [{ name: "哈哈" , age: 22}, {name: '哈哈22'}, {name: '哈哈'}, { sex: "男"}],       // array
          [{ name: "哈哈"}],          // [values]  
          "name");
        console.log(result);
    //结果[{name: '哈哈22'},{sex:"男"}]
        let _ = require("lodash");
        let result = _.differenceBy([12, 3, 4], [3, 1], function(item) {
          return item - 4 > 0;
        });
        console.log(result);   //[12]
        let _ = require("lodash");
        let result = _.differenceBy([3.1, 4.2, 5.3], [4.6, 5.1], Math.floor);
        console.log(result);     //向下取整后 结果: 3.1  

    6、_.drop(array,[n=1]) 从左边开始切割 、_.dropRight(array,[n=1]) 从右边去掉

  •     let _ = require("lodash");
        let arr = [1, 2, 3, 4, 5, 6];
        let arr_result = _.drop(arr, 3);
        console.log(arr_result);    //结果: [4,5,6]

    7、_.flattenDeep(array) 回归一维数组

  •     let _ = require("lodash");
        let user = [1, [2, 3, 4, [6, 8, [9, 10]]]];
        let result =_.flattenDeep(user);
        console.log(result);
    //结果就是[1,2,3,4,6,8,9,10];

    8、_.uniq(array) 去重

免责声明:文章转载自《Lodash数组篇》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇termux不用root将里面的文件导出,同时也可以导入!(转)mapbox 接入高德矢量地图实战下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

gulp搭建前端自动化开发环境

gulp是基于node编写的一个构建工具,有4个主要的API: gulp.src() - 输出符合条件的文件 gulp.dest() - 能被pipe进来,并写文件 gulp.task() - 定义任务 gulp.watch() - 监听文件   首先,默认node环境已经安装; 全局安装gulp: npm i -g gulp 新建文件夹,npm初始化:n...

解决Ruby中文字符串【乱码】的方法

1、将.rb文件保存成utf-8编码格式。 2、在.rb文件开头,加入以下两行代码。 require"jcode"$KCODE='utf8' 那么现在就可以享受中文处理的快乐了! require"jcode"$KCODE='utf8'"xyz".scan(/./)do|letter|putsletterend"这是一个测试字符串".scan(/./)...

nodeJS从入门到进阶一(基础部分)

一、Node.js基础知识 1、概念 简单的说 Node.js 就是运行在服务端的 JavaScript。 Node.js 是JavaScript的运行环境 Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。 2、安装使用 官网下载地址:http://nodejs.cn/ nodeJS5个基本对象: 1、require 引...

新手入门贴:史上最全Web端即时通讯技术原理详解

 关于IM(InstantMessaging)即时通信类软件(如微信,QQ),大多数都是桌面应用程序或者native应用较为流行,而网上关于原生IM或桌面IM软件类的通信原理介绍也较多,此处不再赘述。而web端的IM应用,由于浏览器的兼容性以及其固有的“客户端请求服务器处理并响应”的通信模型,造成了要在浏览器中实现一个兼容性较好的IM应用,其通信过程必然是...

模块化导出导入的几种方式

转载自:https://www.cnblogs.com/baixinL/p/12163811.html require: node 和 es6 都支持的引入 export / import : 只有es6 支持的导出引入 module.exports / exports: 只有 node 支持的导出   Node里面的模块系统遵循的是Common...

深入 CommonJs 与 ES6 Module

目前主流的模块规范 UMD CommonJs es6 module umd 模块(通用模块) (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? module.exports =...