分割数组对象

发布于 2022-09-12 04:38:42 字数 1168 浏览 13 评论 0

问题描述

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

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

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}, 

     ]

 ]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

傻比既视感 2022-09-19 04:38:42
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 })
小…楫夜泊 2022-09-19 04:38:42
一个数组r,初始化一个子数组a塞进去,声明一个变量minAge
对于原数组中的每一项i,执行以下操作
    检查a长度,为0,则minAge = i.age;
    不为0,则检查i.age < minAge是否成立
      成立,则将i推入a
      不成立,则对a赋值数组a = [i], 并把a追加到r
原数组遍历完成,则r即为所求

逻辑就这样,本来写代码还更快,但是直接给代码或许会略去了思考的过程。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文