Как сделать замену в код генератора json

Я работаю в Datalayer, и я пытаюсь заменить значение. Например, если item.listPrice равен 0,01, это будет печататься как 0,00, но не работает должным образом.

function get_products() {
    try {
        vtexjs.checkout.getOrderForm().done(function(a) {
            console.log("Push order", a);
            arr_products_cart = [];
            $(a.items).each(function(a, b) {
                arr_products_cart.push({
                    name: b.name,
                    id: b.id,
                    price: regex_price(b.listPrice),
                    brand: brand,
                    category: b.productCategories[Object.keys(b.productCategories)[1]],
                    variant: b.skuName
                });
                if ("0,01" === b.listPrice || "0.01" === b.listPrice) arr_products_cart.push({
                    price: "0.00"
                });
                arr_products_cart_category.push({
                    id: b.id,
                    category: b.productCategories[Object.keys(b.productCategories)[1]],
                    variant: b.skuName
                });
            });
            set_products_cart();
            cart_qty_register_category();
        });
    } catch (a) {
        console.warn("get_products error", a);
    }
}

javascript,jquery,replace,

0

Ответов: 2


0

Просто замените его, введя данные в массив, как показано ниже.

function get_products() {
  try {
    vtexjs.checkout.getOrderForm().done(function(a) {
      console.log("Push order", a);
      arr_products_cart = [];
      $(a.items).each(function(a, b) {
        arr_products_cart.push({
          name: b.name,
          id: b.id,
          price: if ("0,01" === b.listPrice || "0.01" === b.listPrice)
            "0.00"
          else
            b.listPrice
          brand: brand,
          category: b.productCategories[Object.keys(b.productCategories)[1]],
          variant: b.skuName
        });
        arr_products_cart_category.push({
          id: b.id,
          category: b.productCategories[Object.keys(b.productCategories)[1]],
          variant: b.skuName
        });
      });
      set_products_cart();
      cart_qty_register_category();
    });
  } catch (a) {
    console.warn("get_products error", a);
  }
}

0 принят

Правильный способ:

function get_products() {
    try {
        vtexjs.checkout.getOrderForm().done(function(a) {
            console.log("Push order", a);
            arr_products_cart = [];
            $(a.items).each(function(a, b) {
                var value = format_price(item.listPrice) == '0.01' ? '0.00' : format_price(item.listPrice);
                arr_products_cart.push({
                    name: b.name,
                    id: b.id,
                    price: value,
                    brand: brand,
                    category: b.productCategories[Object.keys(b.productCategories)[1]],
                    variant: b.skuName
                });
                arr_products_cart_category.push({
                    id: b.id,
                    category: b.productCategories[Object.keys(b.productCategories)[1]],
                    variant: b.skuName
                });
            });
            set_products_cart();
            cart_qty_register_category();
        });
    } catch (a) {
        console.warn("get_products error", a);
    }
}

JavaScript, JQuery, замена,
Похожие вопросы