2017-09-08 88 views
0

我有以下的JavaScript代碼:與其他對象追加JavaScript對象屬性

var title = 'Some title'; 
 
var date = []; 
 
var dateKey = 'revision'; 
 
var dateValue = '2010-09-20'; 
 
var obj = {}; 
 
obj['dateKey'] = dateKey; 
 
obj['dateValue'] = dateValue; 
 
date.push(obj); 
 
var inObj = { 
 
    "title": title, 
 
    "date": date 
 
}; 
 
console.log(inObj);

當我輸出inObj控制檯我得到:

{"title":"Some title","date":[{"dateKey":"revision","dateValue":"2010-09-20"}]} 

但是,我不想要「日期」屬性值是一個數組。我需要的輸出看起來像這樣(不包括方括號[]):

{"title":"Some title","date":{"dateKey":"revision","dateValue":"2010-09-20"}} 

據我所知,日期變量是一個數組,但我需要它是追加另一個對象的屬性(因爲會有一個對象多個日期,所以我需要通過它們並將它們添加到inObj的「日期」屬性)。如果我刪除第二行代碼(var date = [];),代碼將不會運行。我該如何解決這個問題?

+1

推是陣列的方法 - 所以不具有數組,不要推 - 也是爲什麼不只是按照需要一次創建對象? – mplungjan

+1

問題在哪裏?如果您需要一個普通對象,則數組不起作用。它看起來更像是一個問題(如何)編寫對象文字。 –

回答

2

跳過date陣列,並設置obj作爲date屬性:

var inObj = { 
    "title": title, 
    "date": obj 
}; 

實施例:

var obj = { 
 
    dateKey: 'revision', 
 
    dateValue: '2010-09-20' 
 
}; 
 

 
var inObj = { 
 
    "title": 'Some title', 
 
    "date": obj 
 
}; 
 

 
console.log(inObj);

相關問題