zoukankan      html  css  js  c++  java
  • lodash数组发现之旅--------The second day

    _.intersectionBy([arrays], [iteratee=_.identity])

    这个方法类似 _.intersection,区别是它接受一个 iteratee 调用每一个arrays的每个值以产生一个值,通过产生的值进行了比较。结果值是从第一数组中选择。iteratee 会传入一个参数:(value)

    _.intersectionBy([2.1, 1.2], [4.3, 2.4], Math.floor);
    // => [2.1]
     
    _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');
    // => [{ 'x': 1 }]

    _.join(array, [separator=','])

    将 array 中的所有元素转换为由 separator 分隔的字符串。

    _.join(['a', 'b', 'c'], '-');
    // => 'a-b-c'

    _.last(array)

    获取array中的最后一个元素。

    _.lastIndexOf(array, value, [fromIndex=array.length-1])

    这个方法类似 _IndexOf,区别是它是从右到左遍历array的元素。

    需要注意的是:没有匹配值,返回 -1

    _.lastIndexOf([1, 2, 1, 2], 2, 2);
    // => 1
    
    _.lastIndexOf([1, 2, 1, 2], 3, 2);
     // => -1

    _.nth(array, [n=0])

    获取array数组的第n个元素。如果n为负数,则返回从数组结尾开始的第n个元素。

    _.pull(array, [values])

    移除数组array中所有和给定值相等的元素

    var arr = [1, 2, 3, 1, 2, 3];
     
    _.pull(arr, 2, 3);
    // => [1, 1]

    _.pullAll(array, values)

    这个方法类似_.pull,区别是这个方法接收一个要移除值的数组。 

    var arr = [1, 2, 3, 1, 2, 3];
     
    _.pullAll(arr, [2, 3]);
    // => [1, 1]

    _.pullAllBy(array, values, [iteratee=_.identity])

    这个方法类似于 _.pullAll ,区别是这个方法接受一个 iteratee(迭代函数) 调用 array 和 values的每个值以产生一个值,通过产生的值进行了比较。iteratee 会传入一个参数: (value)。 

    var arr = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }];
     
    _.pullAllBy(arr, [{ 'x': 1 }, { 'x': 3 }], 'x');
    // => [{ 'x': 2 }]

    _.pullAllWith(array, values, [comparator])

    这个方法类似于 _.pullAll,区别是这个方法接受 comparator 调用array中的元素和values比较。comparator 会传入两个参数:(arrVal, othVal)。 

    var arr = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }];
     
    _.pullAllWith(arr, [{ 'x': 3, 'y': 4 }], _.isEqual);
    // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }]

    _.pullAt(array, [indexes])

    根据索引 indexes,移除array中对应的元素,并返回被移除元素的数组。 

    注意:原数组被改变

    var arr = [5, 10, 15, 20];
    var newarr = _.pullAt(array, 1, 3);
     
    // arr => [5, 15]
    // newarr => [10, 20]
  • 相关阅读:
    关于react框架的一些细节问题的思考
    shouldComponentUpdate不能直接比较object
    浅谈session,cookie,sessionStorage,localStorage的区别及应用场景
    dva相关文档
    vuex 源码:深入 vuex 之辅助函数 mapState
    第三课补充01——set类型 sorted类型命令操作详解,redis管道及事务
    第三课作业——set类型、sorted set类型的增删改查,redis的事务
    第二课补充01——redis-cli命令行详解、string类型、list类型、hash类型命令操作详解
    第二课作业——redis常用命令
    第五课——备份恢复
  • 原文地址:https://www.cnblogs.com/katydids/p/11210421.html
Copyright © 2011-2022 走看看