关于JS的问题(设计二维数组)

JavaScript020

关于JS的问题(设计二维数组),第1张

<script type="text/javascript">

//你的代码

var myarr = [['小A','女',21,'大一'],['小B','男',23,'大三'],['小C','男',24,'大四'],['小D','女',21,'大一'],

['小E','女',22,'大四'],['小F','男',21,'大一'],['小G','女',22,'大二'],['小H','女',20,'大三'],

['小I','女',20,'大一'],['小J','男',20,'大三']]

var firarry = new Array()

for(var i=0i<10++i){ //这句不对,i=0,++1,那么下面这行的i就是1了

if(myarr[i][3]=='大一'){

firarry = myarr[i]

//document.write(firarry)//这行输出大一的,没有用

}

}

for(var j=0j<4++j){//因为上面的被覆盖了,所以这是最后一个大一的,再遍历也只有一个人,

// 而且控制条件写的不对,怎么可以小于4呢,里面只有一个人呀!

if(firarry[j][1]=='女')

document.write(firarry[j][0])

}

/* 这里附上我写的一个运行成功的代码

var myarr=[['小A','女',21,'大一'],['小B','男',22,'大三'],['小c','男',15,'女'],['小D','女',14,'大一']]

for(var i=0i<myarr.lengthi++){

if(myarr[i][3]=='大一'&&myarr[i][1]=='女'){

document.write(myarr[i])

}

}

*/

</script>

你定义的已经就是的了啊。不是很明白你的问的什么。

你是说如何向里面填充?

双层循环就行了撒:

for(var i = 0i <Xi++)

{

for(var j = 0j <Yj++)

data[i][j] = "???"

}

=========

看了你对1楼的追问。

其实JS里面数组本来就是动态的,没有固定的大小,随时往里面增加 :

var data = []

function add(o)

{

if(o.consturctor != Array)return//not an array

data.push(o)

}

function modify(x, y, newval)

{

var child = data[x]

if(!child || y >child.length - 1)return

child[y] = newval

}

data.add(["绿化","绿化"])

data.add(["绿化","绿化"])

data.add(["绿化","绿化"])

modify(2,1,"环卫")

可以一直增加啊。