我正在创建一个美食应用,我们可以自定义美食(例如地铁)。我将商品(例如三明治或萨拉米香肠)及其配料(例如芥末或烧烤)保存在购物车中,以感谢他们的ID。
我的购物车中的数据被保存为:
menuSelection: MenuSelection = {
id: 0,
supp: [1123],
};
菜单如下:
products: Menu[] = [
{
id: 0, name: 'Salami', price: 8, hour: null,
supp:[
{ id: 1123, name: 'fromage', price: 5, hour: null },
{ id: 11234, name: 'bbq', price: 10, hour: null },
],
},
];
所以在我的购物车中,我只有身份证,我想获取食物的对象(物品和配料),我该怎么做?
答案 0 :(得分:1)
因此,您有一个id
,并在products
数组中寻找相关产品?应该差不多了
findProductById = (id: number) => this.products.find(product => product.id === id);
答案 1 :(得分:1)
您的购物车中有/C
个对象的数组。
要从每个ErrorLevel
获取产品和成分,您可以尝试以下方法。
您没有提到要如何存储结果,因此我只是在屏幕上显示它们。您可以根据需要将它们插入数组或对象中。
MenuSelection
答案 2 :(得分:1)
要从菜单中获取产品,您可以使用
findProductById = (id: number) => this.products.filter(product => product.id === id);
如果您还想研究其中的成分
findProductById = (id: number) => {
this.products.filter(
product =>
product.id === id ||
product.supp.filter(ingredients => ingredients.id === id).length
);
}
product.supp.filter(ingredients => ingredients.id === id).length
将返回长度,如果发现长度不为0,则返回false,否则,如果发现匹配,则长度大于0。
如果此条件(product.id === id)
为真,则在顶层找到产品。