• 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]
  • 相关阅读:
    swift3.0更新内容
    Core Animation
    UIBezierPath精讲
    iOS-Core-Animation-Advanced-Techniques(原文来自cocoachina)
    iOS上图形和动画处理
    使用GCD(转自唐巧的技术博客)
    UITableView的cell的分割线位置
    swift深入理解闭包
    Swift控制器加载xib Swift Controller'view load from xib
    -[UIWindow viewForFirstBaselineLayout]: unrecognized selector sent to instance
  • 原文地址:https://www.cnblogs.com/katydids/p/11210421.html
Copyright © 2020-2023  润新知