根据产品类别衡量转换价值

时间:2019-06-17 12:51:35

标签: javascript variables

您有3个要素可供使用;

  1. 一个在篮子中带有产品的数组(带有相应的数量,价格,“ product_category”和“ product_parent_category”)

  2. 具有类别和称重因子的表(与第3步相同的脚本中)

  3. 一个javascript函数,用于输出每种产品的商品数量价格权重因子的总和。

->价格和数量都很容易,但是对于权衡因素,我们有一个层次结构:

  1. 始终尝试首先在product_category上进行匹配
  2. 如果product_category没有产生数字:请尝试在product_parent_category上进行匹配
  3. 如果两个类别都不匹配-请使用值0.44(平均值)

下面,我给出到目前为止我想出的transactionProducts和javascript;

 'transactionProducts': [{
 'sku': 'DD44',
 'name': 'T-Shirt',
 'product_category': 'Apparel1',
 'price': 10,
 'quantity': 2
 },{
 'sku': 'AA1243544',
 'name': 'Socks',
 'product_category': 'Apparel2',
 'product_parent_category': 'Apparel2',
 'price': 11,
 'quantity': 3
 },{
 'sku': 'AA1243544',
 'name': 'Socks',
 'product_category': 'Apparel3',
 'product_parent_category': 'Apparel3',
 'price': 12,
 'quantity': 4
 },{
 'sku': 'AA1243544',
 'name': 'Socks',
 'product_category': 'TESTTESTwrongcategory',
 'product_parent_category': 'Apparel4',
 'price': 2,
 'quantity': 1
 }];
  </script> 

这是我到目前为止所得到的。一切正常,除了if语句

function(){
var lookupTable = {
  'Apparel1': function() {
    return 0.5;
  },
  'Apparel2': function() {
    return 0.4;
  },
  'Apparel3':  function() {
    return 0.25;
  },
  'Apparel4':  function() {
    return 2;
}};  
   var sum = 0;
      for (var i = 0; i < {{VAR - transactionProducts}}.length; i++){

   var weging = {{VAR - transactionProducts}}[i]['product_category'];
            if (typeof weging !== 'string') {
                  weging = {{VAR - transactionProducts}}[i]['product_category'];
                } else if(typeof weging === 'string') {
                  weging = {{VAR - transactionProducts}}[i]['product_parent_category'];
                } else {
                  weging = 0.44
                };

 sum += {{VAR - transactionProducts}}[i]['quantity']*{{VAR - transactionProducts}}[i]['price']*
   lookupTable[weging]()
};
  return sum;
}

如果我忽略了该语句,则我有一个有效的脚本,但仅适用于“ product_category”部分,但该值可能为空,因此我们必须使用以下规则集:

  1. 总是首先尝试匹配“ product_category”

  2. 如果product_category没有产生数字:请尝试在product_parent_category上匹配

  3. 如果两个类别都不匹配-使用值0.44(平均值)

解决方案

The script loops a total of 4 times: 
product1: 2*10*0.5=weigfactor for Apparel1 on "product_category" level
product2: 3*11*0.4=weigfactor for Apparel2 on "product_category" level
product3: 4*12*0.25=weigfactor for Apparel3 on "product_category" level
product4: 1*2*2=weigfactor for Apparel4 on "product_parent_category" level

The sum of these all=39.2. I still get 'undefined' as solution

如果有人可以指出正确的方向来解决这个问题,那将非常棒!

0 个答案:

没有答案