2017-04-06 99 views
0

我是AngularJS中的新成員。我試圖分配JSON對象,我使用Object.assign來分配JSON對象。但是我不能得到我想要的結果 請幫我拿到結果。如何分配JSON對象

'use strict' 
 

 
let one ={"Start":"11","Dashboard":"1","Settings":"2","Support":"3","Trunk":"4","Routing":"5","Solutions":"6","Accounting":"7","Statistic":"8","Marketing":"9","Profile":"10"}; 
 
let two = {"Settings":{"Basic Settings":"1","Number Range":"2","Employess":"3","Message Fulfillment":"4"},"Support":{"All Contacts":"5","Detail Approval":"6","Incomplete Signup":"7","Settings":"8"},"Trunk":{"My Tickets":"9","All Tickets":"10"}}; 
 

 
let three \t = \t {"Settings":{"Basic Settings":{"My Information":"1","Bank Information":"2"}}}; 
 

 
let four = Object.assign({}, one, two, three); 
 

 
console.log(JSON.stringify(four));

+0

我需要這樣的: - { 「開始」: 「11」, 「儀表板」: 「1」, 「設置」:{ 「基本設置」:{ 「我的信息」: 「1」,」銀行信息「:」2「},」號碼範圍「:」2「,」職業「:」3「,」信息實現「:」4「},」支持「:{」所有聯繫人「:」5「, 「詳細審批」:「6」,「未完成註冊」:「7」,「設置」:「8」},「中繼線」:{「我的門票」:「9」,「所有門票」:「10」} , 「路由」: 「5」, 「解決方案」: 「6」, 「會計」: 「7」, 「統計」: 「8」, 「市場」: 「9」, 「個人資料」: 「10」,」基本設置「:{」我的信息「:」1「,」銀行信息「:」2「}} –

+0

你有答案嗎? –

+0

@deepgagan你檢查了我的答案嗎? –

回答

0

您可以使用jQuery $.extend(a, b);擴展對象,但因爲使用的是angularjs,您可以使用JavaScript核心

let one ={"Start":"11","Dashboard":"1","Settings":"2","Support":"3","Trunk":"4","Routing":"5","Solutions":"6","Accounting":"7","Statistic":"8","Marketing":"9","Profile":"10"}; 
let two = {"Settings":{"Basic Settings":"1","Number Range":"2","Employess":"3","Message Fulfillment":"4"},"Support":{"All Contacts":"5","Detail Approval":"6","Incomplete Signup":"7","Settings":"8"},"Trunk":{"My Tickets":"9","All Tickets":"10"}}; 

let three = {"Settings":{"Basic Settings":{"My Information":"1","Bank Information":"2"}}}; 


function jsonExtend(a, b) { 
for (var key in b) { 
    a[key] = b[key]; 
} 
return a; 
} 

var output = {}; 
output = jsonExtend(output, one); 
output = jsonExtend(output, two); 
output = jsonExtend(output, three); 

console.log(output) 
+0

輸出不顯示: - 「Number Range」:「2」,「Employess」:「3」,「Message Fulfillment」:「4」 –

+0

當連接對象時,屬性被重複,因此第三個覆蓋第二個。 – vusan

+0

好的。但我需要這些值。那麼我怎麼能得到這些值? –

1

試試這個:

function mergeObjects() { 
 
    var merged_obj = {}; 
 
    for (i in arguments) { 
 
     obj = arguments[i]; 
 
     for (j in obj) { 
 
       merged_obj[j] = obj[j]; 
 
     } 
 
    } 
 
    return merged_obj; 
 
} 
 

 
var one ={"Start":"11","Dashboard":"1","Settings":"2","Support":"3","Trunk":"4","Routing":"5","Solutions":"6","Accounting":"7","Statistic":"8","Marketing":"9","Profile":"10"}; 
 
var two = {"Settings":{"Basic Settings":"1","Number Range":"2","Employess":"3","Message Fulfillment":"4"},"Support":{"All Contacts":"5","Detail Approval":"6","Incomplete Signup":"7","Settings":"8"},"Trunk":{"My Tickets":"9","All Tickets":"10"}}; 
 

 
var three = {"Settings":{"Basic Settings":{"My Information":"1","Bank Information":"2"}}}; 
 

 
var mergedObj = mergeObjects(one, two, three); 
 
console.log(mergedObj);

+0

它不顯示這些值: - 「編號範圍」:「2」,「職業」:「3」,「消息實現」:「4」 –