考虑我有以下代码:

var Descriptions = {
    test1: {
        name: 'test1',
        desc: 'Clubhouse'
    },
    test2: {
        name: 'test2',
        desc: 'Pub'
    }
};


例如,如何警告所有“名称”或所有“ desc”? Descriptions['name']以下内容不起作用。

  var DescriptionsName = Descriptions['name'] <------help here;



var Descriptionsholder =  `'<div class="wrapper">'+DescriptionsName +'</div>';`



$(Descriptionsholder ).appendTo($("#main-content"));


Div风格

.wrapper {
position: relative;
margin: 40px;
float: left;
width:200px;
height:200px;
overflow: hidden;
 -webkit-box-shadow: 1px 1px 1px 1px grey;
-moz-box-shadow:  1px 1px 1px 1px grey;
 box-shadow: 1px 1px 1px 1px grey;
}

最佳答案

你可以试试这个

for (var x in Descriptions)
{
   alert(Descriptions[x].name);
}


您可以使用for in循环来迭代对象的属性。

由于test1test2Descriptions对象的属性,并且在访问test1test2的值(如Descriptions[x],其中x可以是test1或test2)之后,可以访问name或desc属性与Descriptions[x].nameDescriptions[x].desc相同。

编辑

要获取所有名称,您可以尝试以下方法

var DescriptionsName = [];
for (var x in Descriptions)
{
   DescriptionsName.push(Descriptions[x].name);
}

var Descriptionsholder = '<div class="sandwich-wrapper">'+DescriptionsName.join() +'</div>';

$(Descriptionsholder).appendTo($("#main-content"));


更新

要获取所有名称,您可以尝试以下方法

for (var x in Descriptions)
{
   var Descriptionsholder = '<div class="sandwich-wrapper">'+Descriptions[x].name +'</div>';
   $(Descriptionsholder).appendTo($("#main-content"));
}

07-26 02:41