gpt4 book ai didi

javascript - 通过点表示法访问对象属性

转载 作者:行者123 更新时间:2023-11-28 20:28:51 25 4
gpt4 key购买 nike

我正在迭代从服务器返回的集合;它看起来像这样:

roster: Array
0: Object
avatar: null
contactName: "me@test.com"
contactType: "grouping"
displayName: "Joe Shmoe"

我正在创建一个表并尝试向其中添加“displayName”,但通过点表示法访问不起作用。我下面的代码有什么问题?

function createAddressBook()
{
var tbl = document.getElementById( 'addressBook_tbl' );

var tbdy = document.createElement( 'tbody' );

// cells creation
for( var j = 0; j <= roster.length; j++ )
{
// table row creation
var row = document.createElement( "tr" );

for( var i = 0; i < 2; i++ )
{
// create element <td> and text node
//Make text node the contents of <td> element
// put <td> at end of the table row
var cell = document.createElement( "td" );
var cellText = document.createTextNode( roster[ j ].displayName );

cell.appendChild( cellText );
row.appendChild( cell );
}

//row added to end of table body
tbdy.appendChild( row );
}

// append the <tbody> inside the <table>
tbl.appendChild( tbdy );
}

最佳答案

您正在使用j ,当您定义 i 时.

// ----------------v-------should be `i`
"user: " + roster[ j ].displayName
<小时/>

仅供引用,您可以使用 .insertCell(-1)附加一个新单元格。

row.insertCell(-1)
.appendChild(document.createTextNode( "user: " + roster[ j ].displayName ));
<小时/>

编辑:虽然您更新的代码可以运行,但确实存在一个错误。

您正在尝试访问 roster在超出其最后一个索引的索引处。因为数组索引是从 0 开始的,所以最后一个索引是 roster.length - 1 ,所以你应该使用 <而不是<= .

// ---------------v
for( var j = 0; j < roster.length; j++ )

关于javascript - 通过点表示法访问对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16816667/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com