2016-08-18 17 views
0

を第2のarrayに設定するにはどうすればobject idから前の(最初)arrayの続きにすることができますか?第2配列のオブジェクトIDへの継続としてオブジェクトIDを第1配列から設定します

var quantities ={ 
 
    "Array1": [ 
 
    { 
 
     //ID = 0 
 
     "title": "Item", 
 
     "price": 9.99 
 
    }, 
 
    { 
 
     //ID = 1 
 
     "title": "Item", 
 
     "price": 19.99 
 
    } 
 
    ], 
 
    "Array2": [ 
 
    { 
 
     //ID = 0 <- I want this ID to be equal to last ID+1 from previous array 
 
     "title": "Item", 
 
     "price": 9.99 
 
    } 
 
    ] 
 
}

+0

を使用することができますあなたは行く、 '' ID ":++ id'。しかし、IDのプロパティ構文を使用していないので、配列インデックスについて話しているかもしれないと思いますか?配列インデックスはIDではありません。配列の最初の要素は、別の配列の要素の数にかかわらず、その配列の最初の要素になります。あなたはそれをハックすることができますが、それは最終的にあなたをかむ極端なコードの臭いになります。配列インデックスが必要な場合は、indexを使用します。アイテムにIDが必要な場合は、IDプロパティを追加します。 –

+0

ええ、確かに、 '配列インデックス'は私が意味するものです。私はそこに悪い。アドバイスありがとうございます。それを念頭に置いておきますx) – nehel

+0

さて、あなたはそれをハックすることができます。私。 'var x = []; x [2] = 1; 'はx = [undefined、undefined、1]'を生成します。そうすれば、 'x.push(2)'がインデックス '3'に挿入されますが、未定義項目などを含む' x.length'など、あらゆる種類の副作用があります。 –

答えて

0

あなたがオブジェクトに `ID`プロパティを追加することについて話している場合、あなたは、単に変数を使用して、それをprecrementできObject.keys()Array.prototype.forEach()

var n = 0; 
Object.keys(quantities).forEach(function(obj) { 
    quantities[obj].forEach(function(curr) { 
    curr.ID = n; 
    ++n 
    }) 
}); 
関連する問題