2016-03-25 6 views
-2

次のコードは、アプリの起動時に実行されます。パラメタはURLに入り、製品にはelectronics | J7 | F4 | T4などの製品コードのリストが含まれます。エレクトロニクスは、マッピングする必要のない唯一のコードです。テキスト値にマップする必要があるものもあります。このJavaScriptコードスニペットを最適化するにはどうすればよいですか?

[エレクトロニクス、アパレル、靴、食料品]を得るために、上記の製品コードから製品シーケンスを作成する必要があります。

コードをあまり冗長にならないように最適化する簡単な方法はありますか?

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

私が正しくあなたのシナリオを理解していれば、私はこのようなものだろう:

var productArray = policyType 
    .split('|') 
    .map(function(productCode) { 
    return productCode === constants.ELECTRONICS ? 
     productCode : 
     maps.PRODUCT_BY_CODE[productCode]; 
    }); 
productSequenceManager.setProductSequence(productArray); 
関連する問題