js二維數(shù)組定義和初始化的三種方法總結(jié)
方法一:直接定義并且初始化,這種遇到數(shù)量少的情況可以用
var _TheArray = [["0-1","0-2"],["1-1","1-2"],["2-1","2-2"]]
方法二:未知長(zhǎng)度的二維數(shù)組
var tArray = new Array(); //先聲明一維
for(var k=0;k<i;k++){ //一維長(zhǎng)度為i,i為變量,可以根據(jù)實(shí)際情況改變
tArray[k]=new Array(); //聲明二維,每一個(gè)一維數(shù)組里面的一個(gè)元素都是一個(gè)數(shù)組;
for(var j=0;j<p;j++){ //一維數(shù)組里面每個(gè)元素?cái)?shù)組可以包含的數(shù)量p,p也是一個(gè)變量;
tArray[k][j]=""; //這里將變量初始化,我這邊統(tǒng)一初始化為空,后面在用所需的值覆蓋里面的值
}
}
給定義的數(shù)組傳入所需的值
tArray[6][1]=5;//這樣就可以將5的值傳入到數(shù)組中,覆蓋初始化的空
方法三:在這之前,以上兩者方法都有問題,方法二,每次定義都初始化了,雖然后面可以動(dòng)態(tài)修改,但是還是不方法
所以我嘗試了一種動(dòng)態(tài)傳入值到數(shù)組的方法
ps:一些在實(shí)踐過程中遇到的數(shù)組有趣的現(xiàn)象
本來以為二維數(shù)組可以像下面這樣直接傳入值
for(var a=0;a<i;a++){
tArray[a]=(matArray[a],addArray[a]); //matArray[a]和addArray[a]是兩個(gè)數(shù)組,這兩個(gè)數(shù)組直接傳入tArray[a]中
};
結(jié)果是tArray[a]中收到的是后面一個(gè)數(shù)組的值,matArray[a]的內(nèi)容被忽略的,如果換一個(gè)位置,matArray[a]在后面,則傳入的是addArray[a]的值。
思考:簡(jiǎn)單的例子:
var a=[1,2]; var b=[]; b[0]=a;//把數(shù)組a作為b數(shù)組的元素傳入b數(shù)組中 alert(b[0][1]); //2
上面是最簡(jiǎn)單的二維數(shù)組,
上面例子換種寫法:
var b=[]; b[0]=[1,2];//把數(shù)組[1,2]作為b數(shù)組的元素傳入b數(shù)組中 alert(b[0][1]); //2
可以看出上面的b[0]=[1,2]是可以用的
for(var a=0;a<i;a++){
tArray[a]=[ matArray[a],addArray[a] ]; 上面例子中的()修改為[] 就可以成功的組成一個(gè)二維數(shù)組了
};
總結(jié):方法三:
for(var a=0;a<i;a++){
tArray[a]=[ aArray[a],bArray[a],cArray[a]]; 還可以增加dArray[a],eArray[a]
};
這種情況適用于已知幾個(gè)數(shù)組,把他們組合成一個(gè)二維數(shù)組情況
JS 創(chuàng)建多維數(shù)組
<script>
var allarray=new Array();
var res="";
function loaddata()
{
for(var i=0;i<3;i++)
{
var starth=i*200;
var strarw=i*200;
var endh=(i+1)*200;
var endw=(i+1)*200;
allarray[i]=new Array();
allarray[i][0]=new Array();
allarray[i][1]=new Array();
allarray[i][0][0]=starth;
allarray[i][0][1]=strarw;
allarray[i][1][0]=endh;
allarray[i][1][1]=endw;
}
for(var i=0;i<allarray.length;i++)
{
var sh=allarray[i][0][0];
var sw=allarray[i][0][1]
var eh=allarray[i][1][0];
var ew=allarray[i][1][1]
res+="第"+i+"個(gè)坐標(biāo)的開始坐標(biāo)是:"+sh+","+sw+"結(jié)束坐標(biāo)是:"+eh+","+ew+"<br/>";
}
document.getElementById("dv").innerHTML=res;
}
</script>
補(bǔ)充資料:
這兩天做項(xiàng)目時(shí),要通過js傳遞一個(gè)帶有字符串鍵名的二維數(shù)組,可是傳遞到后臺(tái),卻得到了false,使用了很多種方法都不行,今天特地來介紹一下:js 數(shù)組初始化問題;
以及Ajax下傳遞帶有字符串鍵名的數(shù)組如何操作
一維數(shù)組:
一維數(shù)組可以使用數(shù)字,字符串做建名。
var data = [];//不知道個(gè)數(shù)
var data = new Array(); //不知道個(gè)數(shù)
如果知道個(gè)數(shù),具體數(shù)值可以用:
var data = new Array(1); data['a'] = 'a';
或者
var data= ['a'];
二維數(shù)組:
二維數(shù)組不支持字符串鍵名。
一:
var data = []; data.push(['a']);
或
var data_1 = ['a'];d ata[0]=data_1;
二:
var data=new Array();
for(var i=0;i<2;i++){
data[i]=new Array();
for(var j=0;j<2;j++){
data[i][j]=1;
}
提醒:
在使用Ajax傳遞數(shù)據(jù)時(shí),js數(shù)組必須是數(shù)字鍵名。
如果要使用字符串做建名,要通過對(duì)象的形式:如下:
var data ={
'a':{'id':1,'url':h}
};
這篇文章介紹這了。
JS 二維數(shù)組的定義及長(zhǎng)度判斷
動(dòng)態(tài)定義二維數(shù)組:
1.先定義一維:
var arr = new Array();
2.定義二維:
arr[0] = new Array();
arr[1] = new Array();
3.給數(shù)組賦值:
arr[0][0] = "00";
arr[0][1] = "01";
arr[1][0] = "10";
arr[1][1] = "11";
4.判斷數(shù)組長(zhǎng)度:
二維數(shù)組的行數(shù):arr.length
相應(yīng)行的列數(shù):arr[0].length //第一行的長(zhǎng)度 以上例來算此值為2
5.數(shù)組的調(diào)用:
很簡(jiǎn)單:var str = arr[0][0];
- JS刪除數(shù)組里的某個(gè)元素方法
- js數(shù)組與字符串的相互轉(zhuǎn)換方法
- js刪除數(shù)組元素、清空數(shù)組的簡(jiǎn)單方法(必看)
- js split 的用法和定義 js split分割字符串成數(shù)組的實(shí)例代碼
- js數(shù)組循環(huán)遍歷數(shù)組內(nèi)所有元素的方法
- JS array 數(shù)組詳解
- JS合并兩個(gè)數(shù)組的3種方法詳解
- JS Array.slice 截取數(shù)組的實(shí)現(xiàn)方法
- js中通過split函數(shù)分割字符串成數(shù)組小例子
- JS數(shù)組Array常用方法匯總+實(shí)例
相關(guān)文章
Bootstrap模態(tài)框(Modal)實(shí)現(xiàn)過渡效果
這篇文章主要為大家詳細(xì)介紹了Bootstrap模態(tài)框(Modal)實(shí)現(xiàn)過渡效果的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03
用 javascript 實(shí)現(xiàn)的點(diǎn)擊復(fù)制代碼
用 javascript 實(shí)現(xiàn)的點(diǎn)擊復(fù)制代碼,需要的朋友可以參考一下2007-03-03
JavaScript實(shí)現(xiàn)可拖拽的進(jìn)度條
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)可拖拽的進(jìn)度條,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-05-05
Bootstrap 實(shí)現(xiàn)查詢的完美方法
Bootstrap,來自 Twitter,是目前最受歡迎的前端框架。這篇文章主要介紹了Bootstrap 實(shí)現(xiàn)查詢的完美方法,需要的朋友可以參考下2016-10-10
JavaScript箭頭函數(shù)_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了JavaScript箭頭函數(shù)的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
javascript動(dòng)態(tài)添加樣式(行內(nèi)式/嵌入式/外鏈?zhǔn)降纫?guī)則)
添加CSS的方式有行內(nèi)式、嵌入式、外鏈?zhǔn)?、?dǎo)入式,下面為大家詳細(xì)介紹下javascript動(dòng)態(tài)添加以上樣式規(guī)則的方法,感興趣的朋友可以參考下哈2013-06-06
跟我學(xué)習(xí)javascript的執(zhí)行上下文
跟我學(xué)習(xí)javascript的執(zhí)行上下文,讀完本文后,你應(yīng)該清楚了解釋器做了什么,為什么函數(shù)和變量能在聲明前使用以及它們的值是如何決定的,需要了解這些內(nèi)容的朋友可以參考下2015-11-11
從QQ網(wǎng)站中提取的純JS省市區(qū)三級(jí)聯(lián)動(dòng)菜單
在瀏覽網(wǎng)頁過程中發(fā)現(xiàn)QQ自己的JS省市區(qū)三級(jí)聯(lián)動(dòng)。所以研究了一下,就將其提取出來了。他的界面如下,喜歡的朋友可以學(xué)習(xí)下2013-12-12

