課程
/前端開發
/JavaScript
/JavaScript進階篇
二維數組的寫法有些看不懂,想讓比較有經驗的老師幫我解答一下關于二維數組的寫法。及邏輯
2016-03-10
源自:JavaScript進階篇 3-7
正在回答
贊同二樓的理解,我覺得這樣理解起來最合理
antplans
JavaScript實際沒有二維數組,所有的數組都是一位數組,二維數組是其中的特例:即數組的某個元素也是數組
例如:聲明一個數組 ?myarray = new Array();
????????元素賦值: 前面賦值往往是這樣的: myarray[0] = 1 ;
????????????????????????????但實際上,你可以對元素賦值任何數或對象 ,包括 數字,字符串,數組,對象等
二維數組就是指 ? 數組中的元素也是數組 ? 即 myarray[0] = new array(); ?而且可以無限延伸下去
理解二維數組最為重要 。 ?二位數組其實就是一維數組中元素的一維數組 ,可以把它看作矩陣 ,可能有些不好理解。看下面的例子?
?var ?array = [a1 , a2 , a3] ; ?// 這個應該可以看的懂 , 就是創建了一個長度為3的數組 。 數組的值為a1 , a2 , a3。
那么當 a1 是 ?a1 = [1 , 2 ?, 3]; ? // 也就是說 a1也是一個一維數組的時候 。 同理a2 , a3也是 。 那么array是不是就是一個二維數組了 。
1.那么按照課程所教的 , 二位數組的聲明方法 var array = [[1 , 2 ,3] , [2 , 3 , 4] , [3, 4, 5]]; ? //[1,2,3]就是a1 , [2,3,4]就是a2 ,[3,4,5]就是a3;
2.這是已知數組里的值的聲明方法 , 如果你不知道值的話 , 想聲明一個 2 * 3的二維數組 。 按照課程所教需要用到for循環。 看例子
var ?array = new ARRAY();
for(var i = 0 ; i < 2 ; ++i){
????????array[i] = new ARRAY(); ? // 注意現在的 array[i] 已經相當于之前的 a1了 。 只是a1里面還沒標明有多少個元素
? ? ????for(var ?j =0 ; j < 3 ; ++j){
??????? ????????array[i][j] = xx; //可以將值賦進去 。 如果是a1 ?, 那就分別是 1 , 2 ,3? ????
????????}
}
// 以上全部是我的理解 , 不要按照標準來看 。 只是想便于你理解 。 如有問題希望補充 , 大家共同進步?
還有要注意 js 中的數組和 java中的數組差別還是蠻大的 ?。 例如 js數組是變長 。 當聲明
var array = new ARRAY(3); ? ?array[6] = xx; ? 這個時候不會報錯 , 數組的長度自動變成 7 ; 而在java中則會報出數組越界的錯誤 。
還有 js 中的數組里的元素可以是不同類型 。 例如 var array = ["abc" , 123 , true] ; 這都沒問題 , 但是java中數組的定義是相同類型元素的集合 。 所以大家用的時候可以注意一下 。 ?
跟一維的聲明方式一樣 別被那一大串給繞暈了 表示方式不一樣 就這么大區別
舉報
本課程從如何插入JS代碼開始,帶您進入網頁動態交互世界
1 回答js二維數組求解
1 回答求解答二維
7 回答不理解二維數組,求教
1 回答求教二維數組
2 回答二維數組和多維數組
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-03-24
贊同二樓的理解,我覺得這樣理解起來最合理
2016-03-10
JavaScript實際沒有二維數組,所有的數組都是一位數組,二維數組是其中的特例:即數組的某個元素也是數組
例如:聲明一個數組 ?myarray = new Array();
????????元素賦值: 前面賦值往往是這樣的: myarray[0] = 1 ;
????????????????????????????但實際上,你可以對元素賦值任何數或對象 ,包括 數字,字符串,數組,對象等
二維數組就是指 ? 數組中的元素也是數組 ? 即 myarray[0] = new array(); ?而且可以無限延伸下去
2016-03-10
理解二維數組最為重要 。 ?二位數組其實就是一維數組中元素的一維數組 ,可以把它看作矩陣 ,可能有些不好理解。看下面的例子?
?var ?array = [a1 , a2 , a3] ; ?// 這個應該可以看的懂 , 就是創建了一個長度為3的數組 。 數組的值為a1 , a2 , a3。
那么當 a1 是 ?a1 = [1 , 2 ?, 3]; ? // 也就是說 a1也是一個一維數組的時候 。 同理a2 , a3也是 。 那么array是不是就是一個二維數組了 。
1.那么按照課程所教的 , 二位數組的聲明方法 var array = [[1 , 2 ,3] , [2 , 3 , 4] , [3, 4, 5]]; ? //[1,2,3]就是a1 , [2,3,4]就是a2 ,[3,4,5]就是a3;
2.這是已知數組里的值的聲明方法 , 如果你不知道值的話 , 想聲明一個 2 * 3的二維數組 。 按照課程所教需要用到for循環。 看例子
var ?array = new ARRAY();
for(var i = 0 ; i < 2 ; ++i){
????????array[i] = new ARRAY(); ? // 注意現在的 array[i] 已經相當于之前的 a1了 。 只是a1里面還沒標明有多少個元素
? ? ????for(var ?j =0 ; j < 3 ; ++j){
??????? ????????array[i][j] = xx; //可以將值賦進去 。 如果是a1 ?, 那就分別是 1 , 2 ,3? ????
????????}
}
// 以上全部是我的理解 , 不要按照標準來看 。 只是想便于你理解 。 如有問題希望補充 , 大家共同進步?
還有要注意 js 中的數組和 java中的數組差別還是蠻大的 ?。 例如 js數組是變長 。 當聲明
var array = new ARRAY(3); ? ?array[6] = xx; ? 這個時候不會報錯 , 數組的長度自動變成 7 ; 而在java中則會報出數組越界的錯誤 。
還有 js 中的數組里的元素可以是不同類型 。 例如 var array = ["abc" , 123 , true] ; 這都沒問題 , 但是java中數組的定義是相同類型元素的集合 。 所以大家用的時候可以注意一下 。 ?
2016-03-10
跟一維的聲明方式一樣 別被那一大串給繞暈了 表示方式不一樣 就這么大區別