zoukankan      html  css  js  c++  java
  • 数组

    1、_chunk 

    将数组(array)拆分成多个 size 长度的区块,并将这些区块组成一个新数组。 如果array 无法被分割成全部等长的区块,那么最后剩余的元素将组成一个区块。(相当于一个二维数组)

    _.chunk(array, [size=1])

    例:

    _.conpact(array);
    import _ from 'lodash'; 例: let arr = [1,2,3,4,'a',5,6,4,5]; let newArr = _.chunk(arr,2); console.log(newArr);//[[1,2],[3,4],['a',5],[6,4],[5]];

     2、_.compact

    创建一个新数组,包含愿数组中所有的非假值元素,其中 undefined、null、NaN、false、0、"" 这些都被认为是‘假值’。只针对一维数组

    arr = [1,'a',undefined,4,false,'测试',NaN, '',0];
    newArr = _.compact(arr);
    console.log(newArr);//[1,'a',4,'测试']

    3、_.concat

    创建一个新数组,将array与任何数组或值连接起来

    let arr = [1,2];
    let other = _.concat(arr,3,[4],{num:5},[[6]]);
    console.log(other);//[1,2,3,4,{name:5},[6]]

    4、_.difference

    创建一个具有唯一array值的数组,每个值不包含在其他给定的数组中。(注:即创建一个新数组,这个数组中的值,为第一个数字(array 参数)排除了给定数组中的值。)该方法使用SameValueZero做相等比较。结果值的顺序是由第一个数组中的顺序确定。

    参数:
    1、array (Array): 要检查的数组。
    2、[values] (...Array): 排除的值。
    _.difference(array, [values])
    例: let arr
    = [1,2]; let diffArr = [1,8]; let newArr = _difference(arr,diffArr); console.log(newArr);//[2]

    5、_.differenceBy

    这个方法类似_.difference ,除了它多接受一个 iteratee (注:迭代器), 调用array 和 values 中的每个元素以产生比较的标准。 结果值是从第一数组中选择。iteratee 会调用一个参数:(value)。(注:首先使用迭代器分别迭代array 和 values中的每个元素,返回的值作为比较值),该api如果不传iteratee迭代器,则与_.difference等同

    let arr = [3.1,5.3,2,4,6.1];
    let valArr = [3.2,6];
    let newArr = _.differenceBy(arr, valArr, Math.floor);
    console.log(newArr);//[5.3,2,4]

    6、_.differenceWith

    这个方法类似_.difference ,除了它接受一个 comparator (注:比较器 _.isEqul(val,otherval)),它调用比较arrayvalues中的元素。 结果值是从第一数组中选择。comparator 调用参数有两个:(arrVal, othVal)

    <_isEqual:是进行对两个值执行深度比较来确定这个两个值是否相等

    注意:_isEqual 方法支持比较arrays, array buffers(ArrayBuffer 对象用来表示通用的、固定长度的原始二进制数据缓冲区), booleans, date objects, error objects, maps, numbers, `Object` objects, regexes, sets, strings, symbols, typed arrays。Object对象会比较它们自身非继承可枚举的属性。不支持function和DOM节点的比较>

    参数:
    array (Array): 用来检查的数组
    [values] (...Array): 用来排除的数组
    [comparator] (Function): 比较array和values元素值的方法
    
    _.differenceWith(array, [values], [comparator])
    
    例:
    
    let arr = [{
        name: 'Tom',
        code: 0
    },{
        name: 'jerry',
        code: 1,
        list: [{
            name: 'hello'
        }]
    }];
    let equalArr = [{
        name: 'jerry',
        code: 1,
        list: [{
            name: 'hello'
        }]
    }];
    let newArr = _.differenceWith(arr, equalArr, _.isEqual);
    console.log(newArr);//[{name: 'Tom',code: 0}]

    7、_.drop

    创建一个切片数组,去除array前面的n个元素(n默认为1)

    参数:
    array (Array): 要查询的数组。
    [n=1] (number): 要去除的元素个数。
    
    _.drop(array,[n = 1]);

    let arr = [1,2,3,4,5,6];

    console.log(_.drop(arr));//[2,3,4,5,6]--默认n为1

    console.log(_.dropRight(arr,5));//[6]

    console.log(_.dropRight(arr,9));//[]

     8、_.dropRight

    创建一个切片数组,同_.drop的用法相同,不同之处在于,去除array尾部n个元素 (n默认为1)

    参数:
    array (Array): 要查询的数组。
    [n=1] (number): 要去除的元素个数。
    
    _.dropRight(array,[n = 1]);
    
    let arr = [1,2,3,4,5,6];
    
    console.log(_.dropRight(arr));//[2,3,4,5,6]--默认n为1
    
    console.log(_.dropRight(arr,5));//[6]
    
    console.log(_.dropRight(arr,9));//[]
  • 相关阅读:
    js在字符串中提取数字
    checkbox简单例子
    递归算法及经典递归例子代码实现
    e
    MyEclipse10中启动出现OutOfMemoryError: PermGen space如何解决
    VB php JAVA关于数据库连接数过多的解决方法
    java.lang.UnsupportedClassVersionError: Bad version number in .class file
    KindEditor得不到textarea值的解决方法
    php创建读取 word.doc文档
    php 在web端读出pdf 与各种文件下载
  • 原文地址:https://www.cnblogs.com/emilyzz/p/15215664.html
Copyright © 2011-2022 走看看