2017-03-17 64 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。谢谢 –

相关问题