2017-09-08 12 views

答えて

0

あなたfor inループが間違っているあなたが値をしたい場合は、あなたが使用する必要があるので、for inの最初の引数は、実際にあなたのオブジェクトのプロパティのキーでありますそれらをオブジェクトと組み合わせると、

オブジェクト全体を反復処理し、すべての値を1行に表示するには、次のようにします。

財産の一つが他の目的であるならば、これは動作しません

var student = { 
 
    name: "Dave ", 
 
    grades: [80, 85, 90 ,95] 
 
    }; 
 
    
 
    for (index in student) { 
 
    document.getElementById("x").innerHTML += student[index]; 
 
    }
<p id="x"></p>
...

+0

あなたのお返事ありがとうございますPato Salazarあなたの答えは私があなたに感謝していたものでした! –

+0

問題ありません...これは値を表示することを覚えておいてください...オブジェクトの値の1つとしてオブジェクトを持っていれば、再び[オブジェクトオブジェクト] 'を得るでしょう –

+0

あなたは何を意味するのか見ています再びオブジェクトオブジェクトになるので、今すぐボタンを追加して、ボタンを押すたびに同じデータのコピーを作成し続けます。 –

1

あなたは、文字列の中にそのオブジェクトを変換する必要があります。これはJSON.stringifyを使用して行うことができます。また、あなたのようにループすると、前に置いたものを上書きしています。それは、最後に解析されたプロパティが表示されただけで終了しました。 JSON.parseを使用する場合は、インデントに3番目の引数を渡すことができます。複数行のテキストを空白で出力する場合は、書式設定済みのテキストには<pre>タグを代わりに使用できます。

例:

var student = { 
 
    name: "Dave ", 
 
    grades: [80, 85, 90 ,95] 
 
}; 
 

 
document.getElementById("x").innerText = JSON.stringify(student, null, 2); 
 

 
document.getElementById("y").innerText = Object.keys(student) 
 
    .reduce((a, k) => { 
 
    if (student[k] instanceof Array) { 
 
     // If property is array use different format 
 
     a += student[k].join(" "); 
 
    } else { 
 
     a += student[k]; 
 
    } 
 
    return a; 
 
    }, "");
<pre id="x"></pre> 
 
<div id="y"></div>

+0

中かっこ、引用符、またはカンマで区切ります。このようにDave 80 85 90 95 –

+0

オクラホルこれに何かを追加します – Goblinlord

0

JSON stringifyは、JSON


 

 
    var student = { 
 
    name: "Dave ", 
 
    grades: [80, 85, 90 ,95] 
 
    }; 
 
    var json = JSON.stringify(student); 
 

 
    document.getElementById("x").innerText = json;
<p id="x"></p>
にあなたのjsオブジェクトに変換することができます

関連する問題