【发布时间】:2022-01-12 18:05:11
【问题描述】:
我设法计算了数组中的每个重复元素,现在我只想显示一个和每个产品数量。
这就是我现在拥有的:
我有一个函数,我从一个名为 Helpers.js 的文件中导出,然后在我的 Vue 组件中使用。
Helpers.js:
export const groupBy = (arr, criteria) => {
return arr.reduce((obj, item, index) => {
const key = typeof criteria === 'function' ? criteria(item, index) : item[criteria];
if (!obj.hasOwnProperty(key)) {
obj[key] = [];
}
obj[key].push(item);
return obj;
}, {});
}
订单组件:
import { groupBy } from "@/Utils/Helpers";
... rest of the component...
const groupedOrders = computed(() => groupBy(props.order.products, (product) => product.id));
这是在我的模板中:
<div class="mt-5 mx-8" v-for="products in groupedOrders">
{{ products.length }}
<OrderItem
v-for="(product, index) in products"
:product="product"
:key="index"
/>
</div>
这是我在控制台登录的数据:
任何线索如何让它只显示一个莫迪并显示数量,比如Modi (Qtty. 4)
【问题讨论】:
-
请同时添加相关的HTML代码,让我们看看你是如何构建实际前端的。
-
将我的 Order 组件的 HTML 添加到主帖中
标签: javascript arrays vue.js object vuejs3