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]



 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM