首页 > web前端 > js教程 > 正文

如何将一维数组按高度分组转换为二维数组?

聖光之護
发布: 2025-02-25 17:42:12
原创
1073人浏览过

如何将一维数组按高度分组转换为二维数组?

高效实现一维数组到二维数组的转换:按高度分组

本文介绍一种高效的方法,将一维数组转换为二维数组,其中二维数组的每个子数组包含高度相同的元素。

我们使用reduce方法实现这一转换:

const groupByHeight = (list) => list.reduce((res, v) => {
  const lastGroup = res[res.length - 1];
  if (lastGroup && lastGroup[0].height === v.height) {
    lastGroup.push({ width: v.width, height: v.height });
  } else {
    res.push([{ width: v.width, height: v.height }]);
  }
  return res;
}, []);
登录后复制

此函数迭代输入数组list。如果当前元素的高度与最后一个分组中的元素高度相同,则将其添加到该分组。否则,创建一个新的分组并添加当前元素。

使用方法如下:

const data = [
  { id: 1, width: 500, height: 1000 },
  { id: 2, width: 500, height: 1000 },
  { id: 3, width: 500, height: 500 },
  { id: 4, width: 500, height: 500 },
  { id: 5, width: 500, height: 1000 },
  { id: 6, width: 500, height: 1000 },
  { id: 7, width: 500, height: 500 },
  { id: 8, width: 500, height: 500 },
  { id: 9, width: 500, height: 500 },
  { id: 10, width: 500, height: 500 },
];

const data2 = groupByHeight(data);
console.log(data2);
登录后复制

这将生成一个二维数组,其中每个子数组包含高度相同的元素,从而实现了高效的数组转换。 此方法比原文中的方法更简洁,并且避免了不必要的id和slot属性的创建。

以上就是如何将一维数组按高度分组转换为二维数组?的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
相关标签:
red
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号