這條線有什麼問題。 它在控制檯中顯示uncaught syntax error
。帶有值和鍵的數組中的語法錯誤
var aqar= new Array(1:'1_2',2:'5_1',3:'3_3');
這條線有什麼問題。 它在控制檯中顯示uncaught syntax error
。帶有值和鍵的數組中的語法錯誤
var aqar= new Array(1:'1_2',2:'5_1',3:'3_3');
如果你真的想要創建一個陣列,通常JavaScript數組是基於0
,不1
爲基礎的,這就是現在怎麼樣你初始化它們。
這裏是一個從零開始的數組
var aqar = ['1_2', '5_1', '3_3'];
或者,你可能更願意使用非數組對象:
var aqar = {
1: '1_2',
2: '5_1',
3: '3_3'
};
...但你不會有所有偉大的Array
東東。
如果你真的想,你可以創建一個JavaScript陣列上,在0
位置像這樣沒有元素:
var aqar = [];
aqar[1] = '1_2';
aqar[2] = '5_1';
aqar[3] = '3_3';
這(在它的有孔陣列)創建稀疏陣列。它沒有元素0
。 (而不是有一個元素0
與值null
,這是另一個答案在這裏做。)但除非你有一個很好的理由,我不會。
這是構建數組的奇怪方法。嘗試:
var aqar = ['1_2','5_1','3_3'];
aquar[0]; //1_2
aquar[1]; //5_1
aquar[2]; //3_3
,或者如果你打算使用對象:
var aquar = {
"1": "1_2",
"2": "5_1",
"3": "3_3"
}
你混合數組和對象在JavaScript中。
陣列沒有按鍵,當你將它們定義:
var aqar = new Array('1_2', '5_1', '3_3'); // These lines
// do the same
var aqar = ['1_2', '5_1', '3_3']; // things
否則,您需要定義一個對象:
var aqar = { 1 : '1_2', 2 : '5_1', 3 : '3_3' };
'var aqar = ['1_2','5_1','3_3'];'比'new Array'形式好得多。否則,+1 –
@ T.J.Crowder的確,謝謝!更新。 – VisioN
這不是有效的數組語法,且從未有過。
如果您想讓您的陣列以一個爲基礎,請使用null
作爲第一個元素。另外,不要使用new Array()
當你不需要:
var aqar = [null,'1_2','5_1','3_3];
你用散列混合數組。 陣列:
var a = ['1_2','5_1','3_3']; //a[0] = '1_2'
哈希:
var a = {1:'1_2',2:'5_1',3:'3_3'}; //a[1] = '1_2'
請仔細閱讀一個JavaScript教程來學習基本語法:https://developer.mozilla.org/en/JavaScript/Guide。你爲什麼認爲這條線首先是正確的? –
我來自PHP背景。我認爲可以在javaScript數組中使用自定義鍵。 –
不在數組中。數組只是一個「列表」/枚舉對象,它不是一個鍵值存儲。這是一個對象或地圖。 – Igor