2017-08-31 147 views
0

我無法將表單數據導入到我想要的結構中的對象中。目前它返回的格式如下:將表單數據作爲對象添加到另一個對象中

mainObject = { name1:{}, name2:{}, name3{} } 

什麼,我想要實現

我的JS:

var users = {}; 

function formSubmit(){ 
    var name = $("#name").val(); 
    var age = $("#age").val(); 
    var zip = $("#zip").val(); 

    users[name] = {}; 
    users[name].age = age; 
    users[name].zip = zip; 
    console.log(users); 
}; 

我有一個可用的箱是否有幫助,謝謝!

https://jsbin.com/bofohabahu/1/edit?html,js,console,output

+3

'{{name1:{}},{name2:{}},{name3 {}}}'是無效的語法。 – str

+0

這個答案實際上指向了我正確的方向,謝謝! –

+0

@JuanArciniega你的評論讓我覺得你解決了這個問題。如果是這樣,你應該考慮編輯這個問題來反映這個問題,或者將其中一個答案標記爲已接受(如果其中任何一個是正確的),以便這個問題的未來觀衆不會浪費時間。 – jonahe

回答

0

對象可以被看作是鍵的集合和關鍵值。一個對象不能包含一個值(比如一個對象)而沒有該值的鍵(想想看,你將如何訪問它?)。

所以這就是爲什麼{ {name1:{}}, {name2:{}}, {name3{}} }是不可能的。

如果你不關心每個對象的鍵,那麼我可以建議使用一個數組嗎? [ {name1:{}}, {name2:{}}, {name3: {}} ]

+1

謝謝@jonahe。我結束了使用你的建議,而不是使用數組。這對我正在使用的項目非常有效。 –

+0

很高興解決了! :) – jonahe

0

你這是怎麼讓name爲包含agezip

var users = {}; 

    function formSubmit(){ 
    var name = $("#name").val(); 
    var age = $("#age").val(); 
    var zip = $("#zip").val(); 

    users[name] = { 

    age: age, 
    zip: zip 

    }; 
console.log(JSON.stringify(users)); 
}; 

試試這個 https://jsbin.com/vanusapixu/1/edit?html,js,console,output

相關問題