2016-08-24 32 views
0

我希望這樣的:將陣列推入另一個陣列時,如何防止展平?

var x = [1,2]; 
var y = [3,4]; 
x.push(y); 
x 

產生這樣的:

[1,2,[3,4]] 

但一些實現(1)產生這樣的:

[1,2,3,4] 

爲什麼?我怎樣才能得到第一個結果?

  1. InDesign 8.1 ExtendScript;一些我無法識別的OSX 10.10.5上的'/usr/bin/js'(不響應man,version()--version)。
+4

應該產生第一個結果,除非你使用'concat' –

+1

請與我們分享這個瀏覽器的名稱。 –

+0

我得到這個使用 •InDesign 8.1 ExtendScript; •在OSX 10.10.5上,我無法識別'/ usr/bin/js'。 我剛剛在Chrome中嘗試過,我得到了第一個結果。 –

回答

0

如果你運行這個代碼,你會得到第一個結果([1,2,[3,4]]),但是如果你在html中打印這個,你會看到第二個結果。 你可以試試,看看它的console.log 在此的jsfiddle你可以嘗試:https://jsfiddle.net/gjLdb4rq/1/(見控制檯日誌)

var x = [1,2]; 
    var y = [3,4]; 
    x.push(y); 
    console.log(x); //here prints in the console the [1,2,[3,4]] 
    document.getElementById('result').innerHTML=x; //here prints in the html the [1,2,3,4] 
+0

事實上,我錯誤地解釋了打印結果,如下所示: 'var x = [1,2]; var y = [3,4]; x.push(Y); x [2]' 如預期的那樣產生[3,4]。實際上根本沒有輸出括號,這是誤導。 –

0

它確實產生的第一個結果:

[1,2,[3,4]]