//第一步把之前的数据写成一个数组的形式,定义变量为 infos
var info = [['小A','女',21,'大一'], ['小B','男',23,'大三'],
['小C','男',24,'大四'], ['小D','女',21,'大一'],
['小E','女',22,'大四'], ['小F','男',21,'大一'],
['小G','女',22,'大二'], ['小H','女',20,'大三'],
['小I','女',20,'大一'], ['小J','男',20,'大三']];
var num = 0,key = 0;
var infos = new Array();
for(var i=0;i<5;i++){
infos[i] = new Array();
for(var j=0;j<2;j++){
infos[i][j] = info[num];
num++;
if(infos[i][j][3] == "大一"){
document.write(infos[i][j]);
document.write("<br />");
info[key] = infos[i][j];
key++;
}
}
}
document.write("<br/>第二次筛选:<br />")
for(var q = 0;q < key;q++){
if(info[q][1] == "女"){
document.write(info[q]);
document.write("<br />");
}
}
新建一个数组 infos 然后循环 infos[i] 也定义成一个数组 然后在循环 将info[num] 的值 赋给 infos[i][j] 这个二维数组 然后num 的 递增 在判断 infos[i][j][3] 也就数组 “大一”“大二” 这个位置的值 是不是和“大一”相等 相等则输出 值 和换行符 然后再将 这个值info[i][j] 复制给 infos[key] key 递增
把原始数据分成一个二维数组,array[5][2]正好可以放下10个,然后将里面是大一的装到原始数组里。
不建议这么写。破坏了原有数据。
function filter(array,fn){
var result = [];
for(var i = 0;i<array.length;i++){
if(fn(array[i])){
result.push(array[i])
}
}
return result;
}
var result = filter(info,function(item){ return item[3]=="大一" && item[1]=="女"})