[英]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
循環來迭代對象的屬性。
由於test1
和test2
是Descriptions
對象的屬性,並且在訪問了test1
或test2
的值(如Descriptions[x]
,其中x可以是test1或test2)之后,可以訪問name或desc屬性,其名稱與Descriptions[x].name
或Descriptions[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.