簡體   English   中英

JavaScript中的警報對象

[英]Alert object in javascript

考慮我有以下代碼:

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"));
}

Object.keys接受一個對象,並返回其所有屬性名稱的列表。 在這些map ,您也可以獲取值。 這樣就構造了所有名稱的列表。

var DescriptionsNames = Object.keys(Descriptions).map(function(key) {
    return Descriptions[key].name;
});

之后, DescriptionsNames將是原始對象中所有name屬性的列表。

編輯:映射函數中缺少.name

編輯:

for (var test in Descriptions) alert(Descriptions[test].name);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM