我想推入一個數組(多次)到另一個數組。我將所有來自多次嘗試的值視爲單個數組,而不是數組。我試着隱式地推送一個數組(即push([val1,val2]
),顯式創建一個新的數組,然後推送新的數組。下面的代碼的關鍵部分:Javascript將數組推到數組,但串聯,而不是連接
var coordinates=[];
...
for(i=0;i<6;i++)
{
...
for(var j=start;j<circum[i].length;j++)
{
var segmentCoords=[];
...
if(segmentFlag===false)
{
segmentCoords.push([i+1,segmentLength]);
segmentFlag=true;
}
...
if(segmentFlag===true)
{
var tempArray=new Array(i+1,segmentLength);
segmentCoords.push(tempArray);
segmentLength+=sectorLength;
coordinates.push(segmentCoords);
segmentFlag===false;
}
...
}
從許多計算器問題/答案我已經看了,我希望我的座標陣列看起來是這樣的:[[val1, val2],[val3,val4],[val5,val6]]
。相反,它是[val1,val2,val3,val4,val5,val6]
。如果我使用.concat()
或.apply()
,我就會這麼想。
任何人都可以解釋爲什麼我的代碼不生成數組數組?
我已經在這裏得到了完整的代碼https://jsfiddle.net/Seytom/7xm9s4qr/以防萬一你想看到更多的代碼。
'變種superSetArray = []; superSetArray.push([1,2]); superSetArray.push([3,4]); superSetArray.push([5,6]); console.log(superSetArray);' - 此代碼的工作方式與您的期望完全相同。 – Developer