【发布时间】:2019-04-26 19:27:54
【问题描述】:
这是产品服务响应。
productServiceResponse = [
{productOrderId:108898,productStatus:"C",productId:'4'},
{productOrderId:108899,productStatus:"P",productId:'2'},
];
通过使用常量值 currentProductStatus = "C";
在产品服务响应中,我需要找到当前产品并使用上述常量值获取产品并获取产品ID。
所以在这里我做到了。在这里我做了当前产品的索引,而不是动态地从集合中找出需要它的索引。
this.productServiceResponse[0].productStatus
//查看当前产品
const ProductCode =
this.productServiceResponse[0].productStatus ===
this.currentProductStatus
? this.productServiceResponse[0].productId.toString()
: null;
一次获取当前productId。
我已经在另一个集合中检查了它。
productTypes =[
{id: "1", name: "Laptop"},
{id: "2", name: "Mobile"},
{id: "3", name: "headphone"},
{id: "4", name: "Cameras"}
];
从产品类型集合中,我已匹配上述结果中的产品 ID。
this.currentProduct = this.productTypes.find(product=>product.id ===ProductCode).name;
最终的 o/p 变成了相机。
我有 o/p :但我需要在单行过滤中使用此查询而不是两个变量。
任何人都可以重构这个。
演示:filter
【问题讨论】:
-
结果是错误的 o/p 应该是 camera 而不是 both ,因为 productStatus 是 C for product Id
{productOrderId:108898,productStatus:"C",productId:'4'} -
我为您提供了灵活的解决方案,可以正确映射所有内容。现在你只需拿起你需要的索引;)
标签: angular typescript rxjs angular6 rxjs6