• Ajax
  • Ant design
  • Axios-Fetch
  • Avue
  • Browser
  • Canvas
  • CSS
  • Dos-bat
  • Dva
  • Dedecms
  • Echart
  • ElementUI
  • Editors
  • Git
  • GeoServer
  • GIS
  • H5
  • Jquery
  • Java安卓
  • Json
  • Javascript
  • Leaflet
  • Linux
  • Life-Info
  • Mock
  • MongoDB
  • Network
  • NodeJS
  • NPM
  • React
  • 设计运营
  • SEO
  • SVG
  • TypeScript
  • Tools
  • umi
  • uni-APP
  • Vant
  • Vue
  • Windows
  • webpack
  • 位置:OC中文网 > 其他 > Javascript >

    根据组名分组,构成新的数组,循环让ID重组新数组

    来源:openlayers-cesium.com 时间:08-26

     

    两种功能:

    (1)根据组名分组,构成新的数组

    (2)satID的值组成新的数组

     

    1. const arr = [{ 
    2.     group: 0, 
    3.     name: 'cuclife-1'
    4.     satID:'1' 
    5. }, { 
    6.     group: 0, 
    7.     name: 'cuclife-2'
    8.     satID:'2' 
    9. }, { 
    10.     group: 1, 
    11.     name: 'cuclife-3'
    12.     satID:'6' 
    13. }, { 
    14.     group: 1, 
    15.     name: 'cuclife-4'
    16.     satID:'5' 
    17. }, { 
    18.     group: 2, 
    19.     name: 'cuclife-5'
    20.     satID:'4' 
    21. }, ] 
    22.  
    23. var map = {}, 
    24.     result = []; 
    25.  
    26. for (var i = 0; i < arr.length; i++) { 
    27.     var ai = arr[i]; 
    28.     if (!map[ai.group]) { 
    29.         result.push({ 
    30.             group: ai.group, 
    31.             sats: [ai.satID] 
    32.         }); 
    33.         map[ai.group] = ai; 
    34.     } else { 
    35.         for (var j = 0; j < result.length; j++) { 
    36.             var dj = result[j]; 
    37.             if (dj.group == ai.group) { 
    38.                 dj.sats.push(ai.satID); 
    39.                 break
    40.             } 
    41.         } 
    42.     } 
    43. console.log('根据group值相同,分组:'
    44. console.log(result) 
    45.  
    46. let aa=[]; 
    47. for(let i=0;i<result.length;i++){ 
    48.     aa=aa.concat(result[i].sats) 
    49.  
    50. console.log('合并后结果:'
    51. console.log(aa)