当前位置: 首页> 健康> 美食 > 网页制作与设计的英文_高德地图怎么没有菲律宾位置_游戏合作渠道_性能优化大师

网页制作与设计的英文_高德地图怎么没有菲律宾位置_游戏合作渠道_性能优化大师

时间:2025/7/11 20:02:53来源:https://blog.csdn.net/weixin_42498594/article/details/146980311 浏览次数:1次
网页制作与设计的英文_高德地图怎么没有菲律宾位置_游戏合作渠道_性能优化大师

方法一:使用 reduce 方法

const originalArray = [{ id: 1, category: 'A', name: 'Item 1' },{ id: 2, category: 'B', name: 'Item 2' },{ id: 3, category: 'A', name: 'Item 3' },{ id: 4, category: 'C', name: 'Item 4' },{ id: 5, category: 'B', name: 'Item 5' },
];const groupedByCategory = originalArray.reduce((acc, item) => {const key = item.category;if (!acc[key]) {acc[key] = [];}acc[key].push(item);return acc;
}, {});// 结果是一个对象,键是分类,值是该分类下的数组
console.log(groupedByCategory);

方法二:使用 lodash 的 groupBy 方法

如果你项目中使用了 lodash,可以使用它的 groupBy 方法:

import { groupBy } from 'lodash';const groupedByCategory = groupBy(originalArray, 'category');
console.log(groupedByCategory);

方法三:在 Vue 3 组件中使用计算属性

import { computed } from 'vue';export default {setup() {const originalArray = [{ id: 1, category: 'A', name: 'Item 1' },{ id: 2, category: 'B', name: 'Item 2' },// ...其他数据];const groupedByCategory = computed(() => {return originalArray.reduce((acc, item) => {const key = item.category;if (!acc[key]) {acc[key] = [];}acc[key].push(item);return acc;}, {});});return {groupedByCategory};}
};

方法四:转换为数组的数组形式

const groupedArray = Object.values(originalArray.reduce((acc, item) => {const key = item.category;if (!acc[key]) {acc[key] = [];}acc[key].push(item);return acc;}, {})
);console.log(groupedArray);
// 输出: [
//   [{ id: 1, category: 'A', name: 'Item 1' }, { id: 3, category: 'A', name: 'Item 3' }],
//   [{ id: 2, category: 'B', name: 'Item 2' }, { id: 5, category: 'B', name: 'Item 5' }],
//   [{ id: 4, category: 'C', name: 'Item 4' }]
// ]

在模板中使用

<template><div v-for="(group, category) in groupedByCategory" :key="category"><h3>Category: {{ category }}</h3><ul><li v-for="item in group" :key="item.id">{{ item.name }}</li></ul></div>
</template>

关键字:网页制作与设计的英文_高德地图怎么没有菲律宾位置_游戏合作渠道_性能优化大师

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: