Javascript:[对象]的问题

时间:2013-03-17 07:09:29

标签: javascript arrays object document.write

我想用这个在屏幕末尾显示 匿名者 重
但我想使用变量注释,我不知道如何使用它。

var comments=[{"comment": "re", "author": "Anonym", "likes": 0, "key": "ahFzfmVhc3ljb21tZW50LWhyZHIQCxIHQ29tbWVudBj46qcJDA", "date": 1363460164.0, "approved": true}]

 for(i=0;i<1;i++){
         document.write(comments[i]+"") ;
     }

如果写这个,只能在浏览器上写[对象对象]。

3 个答案:

答案 0 :(得分:0)

应该是:

for(var i=0;i<1;i++){
  console.log(comments[i].author + "\n" + comments[i].comment); //for author & comment
}

OR

for(var i=0;i<comments.length;i++){
     console.log(comments[i].author + "\n" + comments[i].comment); //for author & comment
}

答案 1 :(得分:0)

首先,您的变量包含一个包含一个元素的数组,该元素是一个对象。

因此,为了访问内容,您必须使用comments[ INDEX ][ PROPERTYNAME ],如下所示:

var comments=[{"comment": "re", "author": "Anonym", "likes": 0, "key": "ahFzfmVhc3ljb21tZW50LWhyZHIQCxIHQ29tbWVudBj46qcJDA", "date": 1363460164.0, "approved": true}]

for(i=0;i<1;i++){
  document.write(comments[i]['author'] + "<br>" + comments[i]['comment'] ) ;
}

一般情况下,我会将document.write()替换为使用innerHTML的其他内容。这看起来像这样:

<div id="commentBox"></div>
<script>
    var comments=[{"comment": "re", "author": "Anonym", "likes": 0, "key": "ahFzfmVhc3ljb21tZW50LWhyZHIQCxIHQ29tbWVudBj46qcJDA", "date": 1363460164.0, "approved": true}],
        commentBox = document.getElementById( 'commentBox' );

    for(i=0;i<1;i++){
      commentBox.innerHTML += comments[i]['author'] + "<br>" + comments[i]['comment'];
    }
</script>

答案 2 :(得分:0)

可以通过名称访问对象属性:

document.write(comments[0].comment);

如果您想要整个对象,可以使用JSON.stringify

document.write(JSON.stringify(comments[0]));

或者显式格式化您想要的属性:

document.write(comments[0].comment + ", " + comments[0].author);