//你的代码
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,"环卫")
可以一直增加啊。