日期:2014-05-18  浏览次数:20724 次

js 数组问题,谢谢;在线等待~~~~

--问题描述:往一个数组里加入一条记录;
                      (数组目前已经有数据,需要往数组里添加一条记录作为该数组的第一条记录)    
<script   type= "text/javascript ">  
var   onecount;  
onecount=0;  
subcat   =   new   Array();  
                <%  
                int   count   =   0;  
                while(rs.next()){  
                %>  
subcat[ <%=count%> ]   =   new   Array( " <%=rs.getString( "NclassName ")%> ", " <%=rs.getString( "NclassId ")%> ", " <%=rs.getString( "parentId ")%> ");  
                <%  
                count++;  
                }  
                rs.close();  
                %>  
onecount= <%=count%> ;  

<!--决定select显示的函数-->  

function   changelocation(locationid)  
        {  
        document.myform.NclassId.length   =   0;  

        var   locationid=locationid;  
        var   i;  
        for   (i=0;i   <   onecount;   i++)  
                {  
                        if   (subcat[i][2]   ==   locationid)  
                        {  
                                                  //需要在这个下拉框NclassId.options的数据里添加一条数据
                                                  //   value=-1,text= "请选择数据 "
                                document.myform.NclassId.options[document.myform.NclassId.length]   =   new   Option(subcat[i][0],   subcat[i][1]);  
                        }                
                }  
               
        }


谢谢;
备注:是JS实现,不是ASP。NET里

------解决方案--------------------
unshift()方法 和 shift()方法
它们的行为和push()方法和pop()方法非常相似,只不过它们是在数组的头部
进行元素的插入和删除。方法unshift()会将一个或多个元素逐加到数组的头部,
然后把已有的元素移动到下标较大的位置上以腾出空间,它返回的是数组的新长度。
方法shift()会删除并返回数组的第一个元素,然后将其接下来的所有元素都象
前移动以填补第一个元素留下的空白。

var a =[];
a.unshift(1); //a:[1]
a