zoukankan      html  css  js  c++  java
  • nodejs json/list技巧

    // json根据某个key的值去重
    const _jsonUniq = function(arr, key1) {
      let arr1 = [arr[0]];
      arr.forEach(function (item1) {
        let flag = false;
        arr1.forEach(function (item2) {
          if (item1[key1] == item2[key1]) {
            flag = true;
            return;
          }
        })
        if (!flag ) {
          arr1.push(item1)
        }
      })
      return arr1;
    }
    
    
    // json根据某个key的值排序(升序)
    res = allList.sort(function sortByTime(a, b) {
        return a['time']>=b['time'] ? 1:-1;
    });


    JS中 some()、every()、filter()、map()

    1.some():返回一个Boolean,判断是否有元素符合func条件
    const arr = [1,2,3,4]; arr.some((item)=>{return item>1})

    
    

    打印结果: true

    
    


    2.every():返回一个Boolean,判断每个元素是否符合func条件
    const arr1 = [1,2,3,4]; arr.every((item)=>{return item>3});
    打印结果:
    false

    
    


    3.filter():返回一个符合func条件的元素数组(es6)

    
    

    let ages = [33,44,55,66,77]; ages.filter((item)=>{return item>18})
    打印结果[33, 44, 55, 66, 77]

    
    

    这个可以用来做删除数组元素的操作,这个操作很好用,假如我要删除一个父id下有多个元素的数组,假如使用splice,

    
    

    删除这个数组下的第一个元素后,坐标i就会改变,导致后面的删除错乱,且删除操作达不到效果,这个时候就可以使用如下代码:el.list是要进行删除操作的数组,rootCateId为父Id

    
    
    el.list = el.list.filter(({ rootCateId }) => rootCateId !== '559165010958356488');
    
    
    这样就可以删除所有父Id为559165010958356488的数据,其他的操作可以同理处理
    
    


    4.map():返回一个新的array,数组元素由每一次调用函数产生结果组成
    const arr =[1,2,3,4,5,6]; arr.map((item)=>{return item*10})
    打印结果 [10, 20, 30, 40, 50, 60]



  • 相关阅读:
    markdown with vim
    递归
    类 sizeof
    cppcheck工具
    c++ explicit的含义和用法
    pca主成分分析
    string的使用
    linux的shell进化简史
    adb shell 无法启动 (insufficient permissions for device)
    c++ 四种转换的意思
  • 原文地址:https://www.cnblogs.com/stellar/p/11206478.html
Copyright © 2011-2022 走看看