JavaScript では、他の新しいプロパティと共にオブジェクトを配列にプッシュするにはどうすればよいですか。たとえば、次のようなことをしたい:
for(var i=0; i<T_ARRAY.length; i++)
{
if(!T_ARRAY[i].isCorrect)
{
NEW_ARRAY.push({T_ARRAY[i], 'idxPerg' : i+1});
}
}
JavaScript では、他の新しいプロパティと共にオブジェクトを配列にプッシュするにはどうすればよいですか。たとえば、次のようなことをしたい:
for(var i=0; i<T_ARRAY.length; i++)
{
if(!T_ARRAY[i].isCorrect)
{
NEW_ARRAY.push({T_ARRAY[i], 'idxPerg' : i+1});
}
}
次のようにして、プロパティを簡単に追加できます。
for(var i=0; i<T_ARRAY.length; i++)
{
if(!T_ARRAY[i].isCorrect)
{
var newObj = T_ARRAY[i];
newObj.idxPerg = i+1;
NEW_ARRAY.push(newObj);
}
}
また、動的キー表記を使用することもできます
for(var i=0; i<T_ARRAY.length; i++)
{
if(!T_ARRAY[i].isCorrect)
{
var newObj = T_ARRAY[i];
newObj["idxPerg"] = i+1;
NEW_ARRAY.push(newObj);
}
}
JavaScript には、オブジェクトにプロパティを追加して元のオブジェクトを返す構文はありません。2 つのステートメントでそれを行う必要があります。
T_ARRAY[i].idxPerg = i+1;
NEW_ARRAY.push(T_ARRAY[i]);