JavaScript – 创build对象和使用variables的属性名称?

我正在创build自己的对象:

gridObject = new Object(); 

然后,我使用jquery来拉取列表项标签的内容,这些内容本身就是用来填充的

具有特定类名称的标签:

 <li row="1"><p class="department" rowitem="department">Photography</p>...</li> 

我拉他们使用此代码:

 //make object from results gridObject = new Object(); //get all the rows var rowlist = $('li[row]'); for(var r=0; r<rowlist.length; r++) { //make gridObject row element here //get the row content var thisrow = $(rowlist[r]).html(); //get all the p tags var rowitems = $(thisrow + 'p.[rowitem]'); //get field name for(var ri=0; ri<rowitems.length; ri++) { if (r < 2) { //this is temporary just for testing var fieldname = $(rowitems[ri]).attr('rowitem'); var fieldvalue = $(rowitems[ri]).html(); } } 

我越来越挂了,把它传递给我的对象。 两个问题。 可以使用variables名称来创build对象属性,如下所示

 griObject.fieldname = fieldvalue; 

并且对象是否具有父/子关系,如:

 gridObject.r.fieldname = fieldvalue; 

在这种情况下,r和fieldname都是variables。 或者我应该只是在工作关联数组来实现类似的东西?

这是为了回答我在下面发布的后续问题,“在JavaScript中是否有一个print_r等价物” – 您可以使用迭代器,多一点打字,但是可以实现:

 //loop through search data var it = Iterator(filteritems); for(var pair in it) { console.log("key:" + pair[0] + ", value:" + pair[1] + "\n"); } 

如果要使用variables属性名称,请使用下标语法:

 var fieldname = 'test'; //These two lines are equivalent as long as fieldname is 'test': gridObject[fieldname] = fieldvalue; gridObject.test = fieldvalue