Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
188 views
in Technique[技术] by (71.8m points)

分割数组对象

问题描述

找出数组对象中某个属性值连续降序的项放到一个新的数组,再拼接在一个数组中

问题出现的环境背景及自己尝试过哪些方法

1.尝试了for循环,map,reduce,但是遍历不出来,不懂怎么判断分割
2.路过大佬帮忙看一下,感谢

相关代码 粘贴代码文本(请勿用截图)

 const arr =?[

     {name: '小明',age: 15},

     {name: '小张',age: 13},

     {name: '小红',age: 11},

     {name: '小黄',age: 18},

     {name: '小路',age: 12},

     {name: '小白',age: 9},

     {name: '小方',age: 9},

     {name: '小静',age: 8},

     {name: '小云',age: 14},

     {name: '小风',age: 14},

     {name: '小峰',age: 13},

     {name: '小龙',age: 11},

     {name: '嘎子',age: 10},

     {name: '张合',age: 18}, 

 ]

你期待的结果是

 [

     [

         {name: '小明',age: 15},

         {name: '小张',age: 13},

         {name: '小红',age: 11}, 

     ],

     [

         {name: '小黄',age: 18},

         {name: '小路',age: 12},

         {name: '小白',age: 9},

         {name: '小方',age: 9},

         {name: '小静',age: 8}, 

     ],

     [

         {name: '小云',age: 14},

         {name: '小风',age: 14},

         {name: '小峰',age: 13},

         {name: '小龙',age: 11},

         {name: '嘎子',age: 10}, 

     ],

     [

         {name: '张合',age: 18}, 

     ]

 ]

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
arr.reduce((result, next) => {
   if (result.temp < next.age) {
     result.arr.push([]);
   }
   result.temp = next.age;
   result.arr[result.arr.length - 1].push(next);
   return result;
}, { arr: [], temp: 0 })

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...