2016-08-02 78 views
-1

我無法將這個問題包裹起來。下面是我的陣列邏輯內置:將數組/對象的數組轉換爲JSON

array1 = [ [array2], [array3], [array4] ... [array17] ] 
array2 = [ ['obj1'], ['obj2'], ['obj3'] ... ['obj30'] ] 
... 
... 
obj1 = ({prop1 : 'string1'}, { prop2 : 'string2'}, {prop3 : 'string3'} ... {prop30 : 'string30'}) 
obj2 = ({prop1 : 'string1'}, { prop2 : 'string2'}, {prop3 : 'string3'} ... {prop30 : 'string30'}) 
obj3 = ({prop1 : 'string1'}, { prop2 : 'string2'}, {prop3 : 'string3'} ... {prop30 : 'string30'}) 
... 
... 
obj30 = ({prop1 : 'string1'}, { prop2 : 'string2'}, {prop3 : 'string3'} ... {prop30 : 'string30'}) 

我想把它壓平成像一個JSON對象:

{"array1":[ 
    { "array2":[ 
     {"obj1":[ 
      {"prop1" : "string1", 
      "prop2" : "string2" 
      } 
     }] 
    }] 
]} 

這裏是我想出了:

for (i=0; i < array1; i++) { 

    var count = 0 

    while (count < array1[0].length) { 
    var jsonObj = { 
     array[i] : { 
     array[count] : { 
      obj[count] : { 
      'prop1' : 'string1' 
      } 
     } 
     } 
    } 
    count++; 
    } 
} 
+0

請在問題本身中包含代碼/ a [mcve]。讓我們知道具體問題是什麼/卡在哪裏。使我們能夠更輕鬆地爲您提供幫助,並使問題與未來的訪問者保持聯繫。 – Jeroen

+0

你的代碼缺少至少一個'}'。請修復它錯誤的地方。 – acdcjunior

+0

或許值得看看underscorejs的flatten函數http://underscorejs.org/#flatten – haxxxton

回答

0

你可以推動所有responseData.res同時循環結束responses

secondRes.push.apply(secondRes, responseData.res) 

或合firstRes之後使用concat

var secondRes = firstRes.concat.apply([], firstRes); 
0

所以,問題是有點混亂。但是如果你想從一個對象數組中創建一個數組的數組,這就是你如何做到的。

secondArray=[]; 

firstArray.map((object, key) => { 

let innerArray = []; 

for (let prop in object){ 

    innerArray.push(object[prop]) 

} 

secondArray.push(newArray); 

});