[英]How to optimize this JavaScript code snippet?
The following piece of code is ran on app launch.以下代码在应用程序启动时运行。 The params come in on the URL, and products will contain a list of product codes such as electronics|J7|F4|T4.
参数出现在 URL 中,产品将包含产品代码列表,例如电子产品|J7|F4|T4。 Electronics is the only code that doesn't need to be mapped.
电子是唯一不需要映射的代码。 Others need to be mapped to text values.
其他需要映射到文本值。
We need to create a product sequence from the above product codes so that we get [electronics, apparel, shoes, groceries].我们需要从上面的产品代码中创建一个产品序列,以便我们得到[电子产品、服装、鞋子、杂货]。
Any simple ways to optimize the code to make it less verbose?有什么简单的方法可以优化代码以使其不那么冗长?
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);
If I understand your scenario correctly, I would do something like this:如果我正确理解你的场景,我会做这样的事情:
var productArray = policyType
.split('|')
.map(function(productCode) {
return productCode === constants.ELECTRONICS ?
productCode :
maps.PRODUCT_BY_CODE[productCode];
});
productSequenceManager.setProductSequence(productArray);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.