Javascript 将两个数组作为一个数组
我有两个数组 第一个是Javascript 将两个数组作为一个数组,javascript,arrays,Javascript,Arrays,我有两个数组 第一个是 lineChart = [{type : 'line' , data : arrdata }] ; 第二个是 mina = [{type : 'area' , data : [[1326844575000,10] ,[1326845955000,10]], color : 'H33FF00'}, {type : 'area' , data : [[1326846575000,10] ,[1326848065000,10]], color : 'H33FF
lineChart = [{type : 'line' , data : arrdata }] ;
第二个是
mina = [{type : 'area' , data : [[1326844575000,10] ,[1326845955000,10]], color : 'H33FF00'},
{type : 'area' , data : [[1326846575000,10] ,[1326848065000,10]], color : 'H33FF00'},
{type : 'area' , data : [[1326848390000,10] ,[1326849755000,10]], color : 'H33FF00'} ];
当我把它们放在一起时,就像:
mychart.push(lineChart);
mychart.push(mina);
console.log(JSON.stringify(mychart)) ;
这就是我得到的
[{"type":"line","data":[]},[{"type":"area","data":[[1326844575000,10],[1326845955000,10]],"color":"H33FF00"},{"type":"area","data":[[1326846575000,10],[1326848065000,10]],"color":"H33FF00"},{"type":"area","data":[[1326848390000,10],[1326849755000,10]],"color":"H33FF00"}]]
我的问题是:如何使这个结果数组成为这样一个数组?
[{"type":"line","data":[]},{"type":"area","data":[[1326844575000,10],[1326845955000,10]],"color":"H33FF00"},{"type":"area","data":[[1326846575000,10],[1326848065000,10]],"color":"H33FF00"},{"type":"area","data":[[1326848390000,10],[1326849755000,10]],"color":"H33FF00"}]
只需将第一个对象推入数组
mina.push(折线图)代码>
此外,如果您特别希望在开始时使用折线图,请使用
mina.unshift(折线图)代码>
只需将第一个对象推入数组
mina.push(折线图)代码>
此外,如果您特别希望在开始时使用折线图,请使用
mina.unshift(折线图)代码>
首先:lineChart
不是数组,它是一个对象
mina
是一个数组
要添加lineChart
,可以使用mina.push(lineChart)代码>
另一种方法是var mychart=mina.concat([lineChart])代码>
另一个解决方案是将它们合并:
function arrayMerge(array1, array2) {
var i, j, newArray = []; for(i=0,j=array1.length;i<j;++i) {
newArray.push(array1[i]);
}
for(i=0,j=array2.length;i<j;++i) {
newArray.push(array2[i]);
}
return newArray;
}
var mergedArray = arrayMerge(mina, [lineChart]);
函数arrayMerge(array1,array2){
var i,j,newArray=[];for(i=0,j=array1.length;i首先:lineChart
不是数组,而是对象
mina
是一个数组
要添加lineChart
,可以使用mina.push(lineChart);
另一种方法是var mychart=mina.concat([lineChart]);
另一个解决方案是将它们合并:
function arrayMerge(array1, array2) {
var i, j, newArray = []; for(i=0,j=array1.length;i<j;++i) {
newArray.push(array1[i]);
}
for(i=0,j=array2.length;i<j;++i) {
newArray.push(array2[i]);
}
return newArray;
}
var mergedArray = arrayMerge(mina, [lineChart]);
函数arrayMerge(array1,array2){
变量i,j,newArray=[];用于(i=0,j=array1.length;ilineChart
不是数组,它是一个对象。请了解区别。lineChart
不是数组,它是一个对象。请了解区别。@MinaGabriel这是一个正在工作的jsfiddle。你能解释一下什么不工作吗?你能把这个放在一个答案中吗?因为这是我想给你的书面答案吗it@MinaGabriel两个答案都是正确的(因为您编写了,这是编写的答案).这是我的一个JSFIDLE:,但确实,qw3n的答案更快。@MinaGabriel这是一个正在工作的JSFIDLE。你能解释一下什么不起作用吗?你能把它放在一个答案中吗?因为这是我想给你的书面答案credit@MinaGabriel两个答案都是正确的(因为您编写了,这是编写的答案).这是我的一个JSFIDLE:,但确实,qw3n的答案更快。