数组基于某个值转为二维数组

深碍√TFBOYSˉ_ 2022-11-15 14:05 275阅读 0赞

下面整理一个一维数组转为二维数组的过程 , 数组中多个对象(每一项)的 name 一致 , 所以通过每一项的 type 来区分

上硬菜~~

  1. <script>
  2. export default {
  3. methods: {
  4. // 先来封装一下
  5. groupBy (array, fun) {
  6. const groups = { };
  7. array.forEach(item => {
  8. const group = JSON.stringify(fun(item));
  9. groups[group] = groups[group] || [];
  10. groups[group].push(item);
  11. });
  12. return Object.keys(groups).map((group) => {
  13. return groups[group];
  14. });
  15. },
  16. // 随便来一个方法获取数据后调用以上方法
  17. trainingLook () {
  18. api.post(接口路径, 参数).then(res => {
  19. if (res.code == 'CPYY-00001') {
  20. // res.data 格式为 [{type:1,name:'训练1'},{type:2,name:'训练2',id:4},{type:2,name:'训练2',id:5},{type:2,name:'训练2',id:6},{type:3,name:'训练3'}]
  21. this.lookOverList = this.groupBy(res.data, function (item) {
  22. return [item.type];
  23. });
  24. // 将 type 一致的存放到一个数组
  25. // 转化后的格式为 [[{type:1,name:'训练1'}][{type:2,name:'训练2',id:4},{type:2,name:'训练2',id:5},{type:2,name:'训练2',id:6}][{type:3,name:'训练3'}]]
  26. }
  27. }).catch(err => {
  28. console.log(err);
  29. });
  30. }
  31. }
  32. }
  33. </script>

以上总结基于 vue 文件 , 其余可灵活使用~~

发表评论

表情:
评论列表 (有 0 条评论,275人围观)

还没有评论,来说两句吧...

相关阅读