下面是我写的代码,是将datainfo数组按照第一个值排列起来,并且只显示第2个值最小的,但实际中经常会重复,麻烦大家看看,我的代码,有逻辑上的问题吗?强烈感谢啦var newlist = new Array();
var datainfo = new Array();
datainfo[1] = new Array();
datainfo[2] = new Array();
datainfo[3] = new Array();
datainfo[4] = new Array();
datainfo[5] = new Array();
datainfo[6] = new Array();
datainfo[7] = new Array();
datainfo[8] = new Array();
datainfo[9] = new Array();
datainfo[10] = new Array();
datainfo[11] = new Array();
datainfo[12] = new Array();
datainfo[13] = new Array();
datainfo[1][1] = new Array('zhangxueyou','100','awsdcderr');
datainfo[2][1] = new Array('liudehua','50','23r2wr23r');
datainfo[3][1] = new Array('zhangxueyou','10','fwerfwerwer');
datainfo[4][1] = new Array('liming','90','3434234234');
datainfo[5][1] = new Array('zhoujielun','40','grtgefge5');
datainfo[6][1] = new Array('liming','20','456tef453');
datainfo[7][1] = new Array('chengyixun','30','wdsd23243234');
datainfo[8][1] = new Array('twins','50','dvfdgret45435');
datainfo[9][1] = new Array('chenxiaochun','60','uy7675464t');
datainfo[10][1] = new Array('she','70','12wef43535');
datainfo[11][1] = new Array('twins','80','vfdf623fwdwed');
datainfo[12][1] = new Array('chengyixun','20','11wefwef435435');
datainfo[13][1] = new Array('liudehua','20','7876jygfwe3324234');
function makelist(datainfo,newlist)
{
var exist = 0;
for(var j = 1; j <= 13; j++){
var slenth = datainfo[j].length;
if(slenth > 0){
for(var i = 1; i <= slenth; i++){
if(newlist.length > 0){
exist = 0;
for(var k = 1; k <= newlist.length; k++){
if(typeof(datainfo[j][i])!='undefined' && typeof(newlist[k])!='undefined'){
if(datainfo[j][i][0] == newlist[k][0]){
exist = 1;
if(datainfo[j][i][1] < newlist[k][1]){
newlist[k] = datainfo[j][i];
}
}
}
}
if(exist === 0){
flenth = newlist.length;
newlist[flenth] = new Array();
newlist[flenth] = datainfo[j][i];
}
}else{
newlist[1] = new Array();
newlist[1] = datainfo[j][i];
}
}
datainfo[j] = '';
}
} return newlist;}document.write(makelist(datainfo,newlist));