学生遇到了一个“下拉框两级联动的问题”现在大体的思路已经清晰了,需要解决的是:
将[1,1,1,1,1,2,2,2,2,4,4,4,4,4,4,4,4,4,5,5,5,6,6]的一个(不规则)的一维数组,变为
[[1,1,1,1,1],[2,2,2,2],[4,4,4,4,4,4,4,4,4],[5,5,5],[6,6]]的二维数组。用Java或者JavaScript语言实现皆可。
将[1,1,1,1,1,2,2,2,2,4,4,4,4,4,4,4,4,4,5,5,5,6,6]的一个(不规则)的一维数组,变为
[[1,1,1,1,1],[2,2,2,2],[4,4,4,4,4,4,4,4,4],[5,5,5],[6,6]]的二维数组。用Java或者JavaScript语言实现皆可。
http://school.itzcn.com/special-spid-28.html
上面讲解的比较详细,希望对楼主有所帮助。
看在美女的份上~我玩玩试试!<html>
<body>
</body>
<script type="text/javascript">
var flag;
var oldarr=[1,1,1,1,1,2,2,2,2,4,4,4,4,4,4,4,4,4,5,5,5,6,6];
var newarr=[];
function parsearr(oldarr){
var newarrstart=[];
for(i=0;i<oldarr.length;i++){
if(!flag){flag=oldarr[i];newarrstart.push(oldarr[i]);continue}
if(oldarr[i]==flag){newarrstart.push(oldarr[i]);flag=oldarr[i];
if(oldarr[i]==oldarr[oldarr.length-1]){newarr.push(newarrstart);alert("完毕");}
}
else{newarr.push(newarrstart);newarrstart=[];flag=oldarr[i];newarrstart.push(oldarr[i]);};
}
return newarr;
}alert(parsearr(oldarr));//这么看似乎没有变化~但是这是一个2维的了,不然遍历一下!for(var i=0;i<newarr.length;i++){
alert(newarr[i]);}; </script>
</html>
一手产品~请大家帮忙优化下!
var a = [1,1,1,1,1,2,2,2,2,4,4,4,4,4,4,4,4,4,5,5,5,6,6],temp='',t=[],f=[];
for(var i=0,j=a.length;i<j;i++){
if(a[i] != temp){
if(t.length) f[f.length] = t ;
t = [];
}
t[t.length] = temp = a[i];
}
f[f.length] = t;
alert(f[0]);//1,1,1,1,1
alert(f[3]);//5,5,5
</script>
var o = ['你', 'da', '你', 123, 'fm', 'fm', 'da', 123, 'fm', 123];
var n = [];
var s = 0;
var t = false;
o.sort(); //防止出现乱序的情况
while(o.length != 0)
{
if(!t)
{
n[s] = [];
n[s].push(o[0]);
o.shift();
t = true;
}
if(o[0] == n[s][0])
{
n[s].push(o[0]);
o.shift();
}
else
{
t = false;
s += 1;
}
}
for(var i = 0; i < n.length; i++)
{
alert(n[i]);
}
var o = ['你', 'da', '你', 123, 'fm', 'fm', 'da', 123, 'fm', 123];
var n = [];
var s = -1;
var t = null;
o.sort();
for(var i = 0; i < o.length; i++)
{
if(o[i] != t)
{
s += 1;
n[s] = [];
}
n[s][n[s].length] = t = o[i];
} for(var i = 0; i < n.length; i++)
{
alert(n[i]);
}
var result=[];
var obj={};
for(var i=0;i<o.length;i++){
if(typeof(obj[o[i]])=="undefined"){
obj[o[i]]=[];
obj[o[i]].push(o[i]);
}else{
obj[o[i]].push(o[i]);
}
}
for(var oo in obj){
result.push(obj[oo]);
}
for(var i = 0; i < result.length; i++){
alert(result[i]);
}