2017-03-17 164 views
-2

Array對象的是:如何根據對象內部的數組拆分對象數組?

[{seriesObject:{數據:[A1,A2,A3,.... A1000]}}]

,我想將其轉換成10個不同的對象數組

[{seriesObject:{數據:[A1,A2,A3,.... A1000]}] //第一組塊

[{seriesObject:{數據:[A1,A2, a3,... a1000]}] //第二塊

[{seriesObject:{data:[a1,a2,a3,... a1000]}] // ...

[{系列對象:{數據:[a1,a2,a3,... 。A1000]}] // 10塊

+0

_I想這個轉換成..._你嘗試過什麼來實現這一目標? –

+1

你的'對象數組'是不正確的。你不能在數組中有鍵 – larz

+1

'[]'表示一個數組,'{}'表示一個對象。即使一個數組是一個對象,'[seriesObject:{data:[10000]}]'不是表示數組的正確方法。你可以做一個更好的表示,也許像{系列對象:{數據:[a0,a1,...,a9999]}} –

回答

0

這應該是你想要什麼:

var arr = [{data:[]},{data:[]},{data:[]}]; 
 
var arrays = {} 
 
for(var i in arr){ 
 
arrays[i] = arr[i]; 
 
} 
 
console.log(arrays);

- 編輯1:

這是你在找什麼?

http://jsfiddle.net/fqqz8vjc/3/

+0

'var arrays = {}'???另外'[{data1:[]},{data2:[]},{data3:[]}];'會是一個問題,因爲你必須在屬性名'data'中添加一個數字來自動化訪問數據。 –

+0

這是一個不同的結果。通過我的素描,他們不是在一個數組中,而是全部劃分成索引到一個對象中的單個數組^^ –

+0

我將把這個被卡住的對象傳遞給Highcharts''''''屬性。所以將'data'改爲'data1','data2'對Highcharts無效。 –

1

我將假定對象是這樣{數據:[A0,A1,...,a9999]}。

function partition (obj, n) { 
 
    var count = obj.data.length, len = count/n; 
 
    var arr = []; 
 
    for(var k = 0; k < count;) { 
 
    var new_obj = {"data":[]}; 
 
    for (var j = 0 ; k < count && j < len; ++j, ++k) { 
 
     new_obj.data.push(obj.data[k]); 
 
    } 
 
    arr.push(new_obj); 
 
    } 
 
    return arr; 
 
} 
 

 
var o = {"data":[]}; 
 
for(var k = 0; k < 10000; ++k) { 
 
    o.data.push(k); 
 
} 
 

 
console.log(partition(o, 10));

+0

^^是我想要的@ dominique-fortin。謝謝 –

相關問題