美文网首页
@芥末的糖-----lodash常用的方法

@芥末的糖-----lodash常用的方法

作者: 芥末的糖 | 来源:发表于2019-04-08 15:29 被阅读0次
u=1285717054,581275134&fm=173&app=25&f=JPEG.jpg

好久没更新了,项目里遇到很多坑,总结一波,顺便给女友一用...两全其美

在干货之后有项目中遇到的坑,一些实战案例在下面继续更新

1.下面是对数组的操作

 //  接下来是对数组的操作 
    var myArr = [
        '生气',
        '开心',
        '灿烂',
        '赌气',
        '飞起',
    ]
    // 合并数组
    console.log(_.concat(myArr, ['我最帅']));//["生气", "开心", "灿烂", "赌气", "飞起", "我最帅"]

    //判断数组里是否有值
    console.log(_.includes(myArr, '飞起'))  //true

    //判断是否为空
    console.log(_.isEmpty([])) //true

    //数组取不包含
    console.log(_.without([1, 2, 3, 4, 5], 1, 2)) //[3, 4, 5]
    console.log(_.xor([1, 2, 3, 4, 5], [2, 3])) //[1, 4, 5]

2.下面是对象的操作

 //  接下来是做对象的操作 
    var myObj = {
        'Scarlett': 1,
        'status': '生气'
    }

    //获取某一项
    console.log(_.get(myObj, ["Scarlett"], '')); //1


    //合并两个对象
    console.log(_.assign({ a: 1 }, { b: 2 })) //{a: 1, b: 2}

    //取出 去除 对象的某一行
    console.log(_.omit(myObj, 'Scarlett')) //{status: "生气"}
    console.log(_.pick(myObj, 'Scarlett')) //{Scarlett: 1}

3.对数组对象的操作

//  接下來是对数组对象的操作 
    var myArrObj = [
        { 'Scarlett': 1, 'status': '生气' },
        { 'Scarlett': 0, 'status': '排序' },
        { 'Scarlett': 2, 'status': '开心' },
        { 'Scarlett': 3, 'status': '开心' },
    ]
    // var myArrObjOther = [
    //     0: { 'Scarlett': 1, 'status': '生气' }

    // ]
    //获取某一项
    console.log(_.get(myArrObj, `0.Scarlett`, '')); //1

    //获取某一个条件下所有项
    console.log(_.filter(myArrObj, { 'status': '开心' })) // [{Scarlett: 2, status: "开心"} {Scarlett: 3, status: "开心"}]
    console.log(_.filter(myArrObj, function (o) { return o.status === '开心'; })) // [{Scarlett: 2, status: "开心"} {Scarlett: 3, status: "开心"}]


    //获取某一个条件某一项(返回一个对象)
    console.log(_.find(myArrObj, function (o) { return o.status == "开心"; })); //{Scarlett: 2, status: "开心"}


    //找到当先条件下的下标(找到就返回了)
    console.log(_.findIndex(myArrObj, function (o) { return o.status == '开心'; })); //2

    //拿到数组对象的某一列列
    console.log(_.map(myArrObj, 'Scarlett')) //[1, 0, 2, 3]

    // ----------------------------------------高阶用法----------------------------------
    //排序(单数组也可以)
    console.log(_.sortBy(myArrObj, 'Scarlett')); //[{Scarlett: 0, status: "排序"},{Scarlett: 1, status: "生气"},{Scarlett: 2, status: "开心"},{Scarlett: 3, status: "开心"},]

    //按照某一项去重
    console.log(_.uniqBy(myArrObj, 'status'));//[{Scarlett: 1, status: "生气"},{Scarlett: 0, status: "排序"},{Scarlett: 2, status: "开心"},]


    //按照每一个对象去重
    console.log(_.uniqWith(myArrObj, _.isEqual)) //会去掉重复的对象

    //取交集
    console.log(_.union([1, 2, 3], [1, 2])) //[1, 2]
    console.log(_.union([{ a: 1 }], [{ b: 2 }])) //[{"a":1},{"b":2}]

4.下面是实战

   // 实战1
    var user1 = [
        { 'user': 'barney', age: 36, 'active': true },
        { 'user': 'fred', age: 40, 'active': false }
    ];
    //拿到数组对象的某一个key:value
    console.log(_.map(user1, function (val, inx) {
        return _.pick(val, 'age')
    })); //[{"age":36},{"age":40}]

  // 实战2 ---------------------------------------------------------
    var user2 = [
        { 'user': 'barney', age: 36, 'active': true },
        { 'user': 'fred', age: 40, 'active': false }
    ];
    //修改数组对象的某个对象里面的某个值
    var user2Find = _.find(user2, function (o) { return o.age == "36"; })
    _.set(user2Find, ["age"], 500)
    console.log(user2);//  [ {user: "barney", age: 500, active: true},{user: "fred", age: 40, active: false}]


//实战3  ---------------------------------------------------------
      console.log(_.difference([1, 2, 3, 4], [2, 3, 4, 5]));  // [1]
      console.log(_.difference([1, 2, 3, 4, 6], [2, 3, 4, 5])); // [1.6] 


// 实战4 ---------------------------------------------------------
      var users = [
        { 'user': 'barney',  'age': 36 },
        { 'user': 'fred',    'age': 40 },
        { 'user': 'pebbles', 'age': 1 }
      ];
       
      var youngest = _
        .chain(users)
        .sortBy('age')
        .map(function(o) {
          return o.user + ' is ' + o.age;
        })
        .head()
        .value();
        console.log(youngest);

// 实战5  ---------------------------------------------------------
var array = [1, 2, 3, 4];
var evens = _.remove(array, function(n) {
  return n % 2 == 0;
});
 
console.log(array);
// => [1, 3]
 
console.log(evens);
// => [2, 4]

//实战6 ---------------------------------------------------------
var users = [
  { 'user': 'barney',  'age': 36 },
  { 'user': 'fred',    'age': 40 },
  { 'user': 'pebbles', 'age': 1 }
];
 
var youngest = _
  .chain(users)
  .sortBy('age')
  .map(function(o) {
    return o.user + ' is ' + o.age;
  })
  .head()
  .value();
// => 'pebbles is 1

持续更新中

我还是喜欢你

像风走了八千里,不问归期

二月花开,三秋叶落

它见过哭泣的鱼

我还是喜欢你

像鱼看罢半夜雨,泪藏水底

没有痕迹,不必提起

它听说梅已忘记

我还是喜欢你

像梅吻了一场雪,鲜血淋漓

等风春来,花雪成溪

它希望再遇见你

终于

鱼死在了泪一样咸的海

风再找不到来的路

梅被狠狠碾碎成了泥

都是没有心的,何苦念念不忘

我还是喜欢你

时间是一条河,匆匆忙忙。有些人时而想念,时而挂牵,可是走不到终点,终点很远,你很远,我也很远。

sorry。

相关文章

  • @芥末的糖-----lodash常用的方法

    好久没更新了,项目里遇到很多坑,总结一波,顺便给女友一用...两全其美 在干货之后有项目中遇到的坑,一些实战案例在...

  • lodash常用方法

    1. _.chunk(array, [size=1]) 将数组(array)拆分成多个size长度的区块,并将这...

  • lodash常用方法

    找数组中的相同key项的对象() intersectionBy 去重uniqBy 返回符合元素的 index,否则...

  • Lodash 常用方法

    Array .compact(array) 创建一个新数组,包含原数组中所有的非假值元素。例如false, nul...

  • lodash常用方法

    1._.get说明: 其实就是如果没有这个值以后就会返回undefined,而不会像js中没有这个值就会报错 2....

  • lodash 常用方法

    数组对象根据某一个值去重 数组去重 两个数组对象对比根据某一个值去重 若干数组并集,交集,补集 陆续更新

  • lodash 常用方法

    对数据,特别是数组和对象进行各种读写等操作:比如去重,拷贝,合并,过滤,求交集,求和等等官网:https://ww...

  • lodash常用方法

    https://www.cnblogs.com/t-sun-j/p/10642568.html[https://w...

  • lodash中常用的方法

    lodash会拷贝一份新数组,不会对之前的数组进行影响 数据的基础处理 浅拷贝&&深拷贝 数组的分割,将数组(ar...

  • @芥末的糖

    1.接下来是一段有故事的代码,如果你能看到最后,那么我相信,这些干货将会让你受益 2.要求变成//循环外:3 ...

网友评论

      本文标题:@芥末的糖-----lodash常用的方法

      本文链接:https://www.haomeiwen.com/subject/elabdqtx.html