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