0

このオブジェクトから、配列order内の各オブジェクトから特定のプロパティを抽出したいと考えています。products

var order = {
  "products": [
    {
      "product_name":"Name",
      "product_sku":"000000075266",
      "pricesUnformatted":5130,
      "prices":"5.130 EUR",
      "subtotal":5130,
      "subtotal_tax_amount":0,
      "subtotal_discount":0,
      "subtotal_with_tax":5130,
      "quantity":18
    },
    {
      "product_name":"Name2",
      "product_sku":"000000072312",
      "pricesUnformatted":369,
      "prices":"369 EUR",
      "subtotal":369,
      "subtotal_tax_amount":0,
      "subtotal_discount":0,
      "subtotal_with_tax":369,
      "quantity":1
    }
  ],
  "totalProduct":19,
  "billTotal":"<div class='cart_left'>TotalPrice<\/div> : <strong>6.826 EUR<\/strong>",
  "dataValidated":false,
  "totalProductTxt":"<div class='cart_left'>Quantity<\/div> <div class='cart_right'><strong>19<\/strong><\/div>"
}

したがって、このオブジェクトから「subtotal_with_tax」アイテムを取得し、それらを合計して結果を出力したいのは、「billTotal」に不要な送料が含まれており、これを取得する前にコードを変更できないためです。物体。

私はそれを機能させようとしましたが、この場合の "subtotal_with_tax" のように特定のアイテムの値をターゲットにする方法がわからないため、この時点で立ち往生しています:

$.each(order.products, function(key, val) {
  $.each(val, function(key, val) {});
});
4

2 に答える 2

0

map() を使用するだけで、jquery ではありません

var sttotal=0;
order.products.map(function(a){sttotal+=a.subtotal_with_tax})
于 2012-08-06T00:28:57.190 に答える
0
var subtotals_with_tax = 0;

$.each( order.products, function( index, product ) {

  subtotals_with_tax += product.subtotal_with_tax;

} );

@eicto が言ったように、それをサポートするブラウザのみを気にする場合、またはmap()他のブラウザで ES5 メソッド全般に「ポリフィル」を使用している場合は、必ず を使用してmap()ください。

var subtotals_with_tax = 0;

order.products.map( function( product ) {

  subtotals_with_tax += product.subtotal_with_tax;

} );
于 2012-08-06T00:22:44.053 に答える