キーに、オブジェクトに配列のインデックス値を追加する方法

Codenewbie:

私は、変数内のオブジェクトを持っているinfoよう。

0: {ProId: "Space", Name: "cake", Quantity: 1}
1: {ProId: "new", Name: "walk", Quantity: 1}

私はそれがだの数量値を変更しようとしているindex+1各インデックスのために、

私は、静的な値としてを持ってしようとしています:

  for (var key in obj){
    var value= obj[key];
    value['Quantity'] = 5;
  }

予想O / P:

console.log(info)
    0: {ProId: "Space", Name: "cake", Quantity: 1}
    1: {ProId: "new", Name: "walk", Quantity: 2}
    2: {............................Quantity: 3}.....

しかし、月、私は私が持つことができる方法を知っているQuantity上述のように値を

ニーナショルツ:

いくつかのヒント:

  • あなたは簡単に反復可能なデータ構造が必要な場合は、オブジェクトの配列instadしてください。これは、あまりにも、繰り返し順序を制御することができます。
  • 数値のための番号を使用してください。後で必要な場合(フォーマット済み)文字列が適用されtoString、それに。

プロパティの新しい値を取得するために、あなたは、与えられたデータを変異させることができ

使い方:

var array = [{ ProId: "Space", Name: "cake", Quantity: "1" }, { ProId: "new", Name: "walk", Quantity: "1" }];

array.forEach((object, i) => object.Quantity = i + 1);

console.log(array);

または配列をマッピングすることによって、新しいオブジェクトを取得します。

使い方:

  • Array#map 新しい配列を取得するため、
  • スプレッド構文...新しいオブジェクトにオブジェクトのすべてのプロパティを取るため

var array = [{ ProId: "Space", Name: "cake", Quantity: "1" }, { ProId: "new", Name: "walk", Quantity: "1" }],
    newArray = array.map((object, i) => ({ ...object, Quantity: i + 1 }));

console.log(newArray);

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=13011&siteId=1