Lodash数组篇
概念简述
- 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.16、_.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数组篇的更多相关文章
- PHP学习笔记之数组篇
摘要:其实PHP中的数组和JavaScript中的数组很相似,就是一系列键值对的集合.... 转载请注明来源:PHP学习笔记之数组篇 一.如何定义数组:在PHP中创建数组主要有两种方式,下面就让我 ...
- (2)ES6解构赋值-数组篇
1.解构赋值-数组篇 //Destrcturing(解构) //ES5 /* var a = 1; var b = 2; var c = 3; */ //ES6 var [a,b,c] = [1,2, ...
- 用js来实现那些数据结构(数组篇01)
在开始正式的内容之前,不得不说说js中的数据类型和数据结构,以及一些比较容易让人混淆的概念.那么为什么要从数组说起?数组在js中是最常见的内存数据结构,数组数据结构在js中拥有很多的方法,很多初学者记 ...
- 用js来实现那些数据结构01(数组篇01-数组的增删)
在开始正式的内容之前,不得不说说js中的数据类型和数据结构,以及一些比较容易让人混淆的概念.那么为什么要从数组说起?数组在js中是最常见的内存数据结构,数组数据结构在js中拥有很多的方法,很多初学者记 ...
- LeetCode刷题总结-数组篇(上)
数组是算法中最常用的一种数据结构,也是面试中最常考的考点.在LeetCode题库中,标记为数组类型的习题到目前为止,已累计到了202题.然而,这202道习题并不是每道题只标记为数组一个考点,大部分习题 ...
- LeetCode刷题总结-数组篇(中)
本文接着上一篇文章<LeetCode刷题总结-数组篇(上)>,继续讲第二个常考问题:矩阵问题. 矩阵也可以称为二维数组.在LeetCode相关习题中,作者总结发现主要考点有:矩阵元素的遍历 ...
- LeetCode刷题总结-数组篇(下)
本期讲O(n)类型问题,共14题.3道简单题,9道中等题,2道困难题.数组篇共归纳总结了50题,本篇是数组篇的最后一篇.其他三个篇章可参考: LeetCode刷题总结-数组篇(上),子数组问题(共17 ...
- 【持续更新】leetcode算法-数组篇
会在近期陆续地完成数组篇的整理,希望对找工作的小伙伴有所帮助. 1.Two Sum:两数相加为一固定值,求其下标.一次遍历数组,用一个hash表存储已经访问过的数及其下标,对于新访问的数value ...
- Java之数组篇
动手动脑,第六次Tutorial--数组 这次的Tutorial讲解了Java中如何进行数组操作,包括数组声明创建使用和赋值运算,写这篇文章的目的就是通过实际运用已达到对数组使用的更加熟练,下面是实践 ...
随机推荐
- thinkphp下通过页面链接传递的参数获取一次后失效
在thinkphp下通过页面链接传递的参数获取一次后失效,ajax内部无法再次使用.想要使用必须再次用js获取其值,通过ajax传递给后台使用. 1.通过页面链接传递参数给下一页 2.可以再下一页后台 ...
- 利用setTimeoutc处理javascript ajax请求超时
用过jquery的人都知道里面的$.ajax能设置超时处理及各种错误的抛出,确实好用.原生的js没有对应的方法,还得写各种兼容.在实际运用中,不管请求是否成功都应该做容错处理, 不然用户不知道到底发生 ...
- 洛谷P3952 时间复杂度(模拟)
题意 题目链接 Sol 咕了一年的题解..就是个模拟吧 考场上写的递归也是醉了... 感觉一年自己进步了不少啊..面向数据编程的能力提高了不少 #include<bits/stdc++.h> ...
- 软件项目技术点(1)——d3.interpolateZoom-在两个点之间平滑地缩放平移
AxeSlide软件项目梳理 canvas绘图系列知识点整理 软件参考d3的知识点 我们在软件中主要用到d3.js的核心函数d3.interpolateZoom - 在两个点之间平滑地缩放平移.请 ...
- Windows API-----top level window
原文地址: http://blog.163.com/cumt_xl/blog/static/19071504420136911838683/ Q: What is a top-level window ...
- Android TabHost切换选项卡实现数据实时刷新
手机界面大小有限,使用TabHost可以达到在一个Activity中放入多个容器(界面)的效果.但存在一个问题是,当数据信息在一个容器(界面)中有所改变时,需要在用户切换选项卡到其他容器(界面)的时候 ...
- ado.net c#基本的增加,修改,删除,查询
自己初次学习用的,各种不规范,注释没写 class AdoDemo { static string strConn = @"Data Source=server1;Initial Catal ...
- dubbo学习总结一 API
API 一般用来暴露接口 项目分层一般是 api + entity + enums + model 就是接口加上一些实体之类的东西
- java面试题之----IO与NIO的区别
JAVA NIO vs IO 当我们学习了Java NIO和IO后,我们很快就会思考一个问题: 什么时候应该使用IO,什么时候我应该使用NIO 在下文中我会尝试用例子阐述java NIO 和IO的区别 ...
- python nose测试
前提: python3 安装nose 结果: nose目录下有子目录tests和mybag,在mybag下新建my_age.py, 内部有Students类,age属性. tests目录下写Sutde ...