以下代码在应用启动时运行。参数在URL中输入,产品将包含产品代码列表,如电子| J7 | F4 | T4。电子是唯一不需要映射的代码。其他需要映射到文本值。
我们需要根据上述产品代码创建产品序列,以便我们获得[电子产品,服装,鞋子,杂货]。
是否有任何简单的方法来优化代码以减少冗长?
var products = params.products;
var productCodes = policyType.split('|');
var productArray = [];
productCodes.forEach(function(productCode) {
if(productCode === constants.ELECTRONICS) {
productArray.push(productCode);
} else {
productArray.push(maps.PRODUCT_BY_CODE[productCode]);
}
})
productSequenceManager.setProductSequence(productArray);
答案 0 :(得分:0)
如果我理解你的情况,我会做这样的事情:
var productArray = policyType
.split('|')
.map(function(productCode) {
return productCode === constants.ELECTRONICS ?
productCode :
maps.PRODUCT_BY_CODE[productCode];
});
productSequenceManager.setProductSequence(productArray);