zoukankan      html  css  js  c++  java
  • lodash 常用摘要

    lodash
    Array
    1._compact(array),剔除数组中的false值,包括0,false,null,undefined,NaN,'';
    let a = _.compact([0,1,false,null,undefined,NaN,'',4]);
    //1,4
    2._.concat(value,value,...),返回新的连接后的数组。
    var array = [1];
    var other1 = _.concat(array,2,[3],[[4]]);//[1,2,3,[4]]
    var other2 = _.concat(2, [3], [[4]]);//[2,3,[4]]
    3._.drop(array,n),n默认为1,表示从第n个位置开始截取数组
    _.drop([1, 2, 3]);
    // => [2, 3]
     
    _.drop([1, 2, 3], 2);
    // => [3]
     
    _.drop([1, 2, 3], 5);
    // => []
     
    _.drop([1, 2, 3], 0);
    // => [1, 2, 3]
    4._.findIndex 按条件查找索引值,找到多条返回第一个index,找不到返回-1
    var users = [
    { 'user': 'barney', 'active': false },
    { 'user': 'fred', 'active': false },
    { 'user': 'pebbles', 'active': true }
    ];
     
    _.findIndex(users, function(o) { return o.user == 'barney'; });
    // => 0
     
    // The `_.matches` iteratee shorthand.
    _.findIndex(users, { 'user': 'fred', 'active': false });
    // => 1
     
    // The `_.matchesProperty` iteratee shorthand.
    _.findIndex(users, ['active', false]);
    // => 0
     
    // The `_.property` iteratee shorthand.
    _.findIndex(users, 'active');
    // => 2
    5._.join(array,'~')
    将数组中的所有元素转换为由分隔符连接的字符串; 默认以‘,’连接
    let tmpJoin = _.join(['a', 'b', 'c']);
    //a,b,c
     
    Collection
    1._.forEach
    _.forEach([1, 2], function(value) {
    console.log(value);
    });
     
    _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {
    console.log(key);
    });
     
    2._.filter
    返回数组
    var users = [
    { 'user': 'barney', 'age': 36, 'active': true },
    { 'user': 'fred', 'age': 40, 'active': false }
    ];
     
    _.filter(users, function(o) { return !o.active; });
    // => objects for ['fred']
     
    // The `_.matches` iteratee shorthand.
    _.filter(users, { 'age': 36, 'active': true });
    // => objects for ['barney']
     
    // The `_.matchesProperty` iteratee shorthand.
    _.filter(users, ['active', false]);
    // => objects for ['fred']
     
    // The `_.property` iteratee shorthand.
    _.filter(users, 'active');
    // => objects for ['barney']
    3._.find
    返回匹配的一条数据,或者undefined
    var users = [
    { 'user': 'barney', 'age': 36, 'active': true },
    { 'user': 'fred', 'age': 40, 'active': false },
    { 'user': 'pebbles', 'age': 1, 'active': true }
    ];
     
    _.find(users, function(o) { return o.age < 40; });
    // => object for 'barney'
     
    // The `_.matches` iteratee shorthand.
    _.find(users, { 'age': 1, 'active': true });
    // => object for 'pebbles'
     
    // The `_.matchesProperty` iteratee shorthand.
    _.find(users, ['active', false]);
    // => object for 'fred'
     
    // The `_.property` iteratee shorthand.
    _.find(users, 'active');
    // => object for 'barney'
    4._.groupBy
    _.groupBy([6.1, 4.2, 6.3], Math.floor);
    // => { '4': [4.2], '6': [6.1, 6.3] }
     
    // The `_.property` iteratee shorthand.
    _.groupBy(['one', 'two', 'three'], 'length');
    // => { '3': ['one', 'two'], '5': ['three'] }
    5._.orderBy
    以某个字段按照某种顺序排序,排序字段多个时,以第一个字段为主
    var users = [
    { 'user': 'fred', 'age': 48 },
    { 'user': 'barney', 'age': 34 },
    { 'user': 'fred', 'age': 40 },
    { 'user': 'barney', 'age': 36 }
    ];
    _.orderBy(users, ['user', 'age'], ['asc', 'desc']);
    // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]
    6._.sortBy
    按照升序排序
    var users = [
    { 'user': 'fred', 'age': 48 },
    { 'user': 'barney', 'age': 36 },
    { 'user': 'fred', 'age': 40 },
    { 'user': 'barney', 'age': 34 }
    ];
     
    _.sortBy(users, [function(o) { return o.user; }]);
    // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]
     
    _.sortBy(users, ['user', 'age']);
    // => objects for [['barney', 34], ['barney', 36], ['fred', 40], ['fred', 48]]
     
    7._.size
    获取collection(Array,Object,String)的长度
    _.size([1, 2, 3]);
    // => 3
     
    _.size({ 'a': 1, 'b': 2 });
    // => 2
     
    _.size('pebbles');
    // => 7
     
    Lang
    1._.isArray
    _.isArray([1, 2, 3]);
    // => true
     
    _.isArray(document.body.children);
    // => false
     
    _.isArray('abc');
    // => false
     
    _.isArray(_.noop);
    // => false
     
    Object
    1._.has
    检查对象是否有某属性
    var object = { 'a': { 'b': 2 } };
    var other = _.create({ 'a': _.create({ 'b': 2 }) });
     
    _.has(object, 'a');
    // => true
     
    _.has(object, 'a.b');
    // => true
     
    _.has(object, ['a', 'b']);
    // => true
     
    _.has(other, 'a');
    // => false
     
  • 相关阅读:
    调用系统相机导致照片旋转问题的修复
    JavaLearning:日期操作类
    PHP实现事件机制实例分析
    按下葫芦起了瓢
    win系统下的eclipse连接和使用linux上的hadoop集群
    利用gradle加入构建版本
    从设计到实现,一步步教你实现Android-Universal-ImageLoader-辅助类
    I帧、P帧和B帧的特点
    tcp_tw_recycle检查tcp_timestamps的内核代码
    OBS源码编译开发
  • 原文地址:https://www.cnblogs.com/tanwanwan2017/p/13345095.html
Copyright © 2011-2022 走看看