var strDom = "demo";Page_Validators.push(strDom);//添加一个对象Array.prototype.indexOf = function(o){
  for (var i = 0, len = this.length; i < len; i++){
        if(this[i] == o) return i;
       }
  return -1;
}
var index = page_Validators.indexOf("demo"); //查找"demo"对象,并返回索引。

解决方案 »

  1.   

    现在如何判断Page_Validators 是否已经声明 ?是判断Page_Validators是否声明,还是判断这个数组内的某个对象是否声明?如果前者,Page_Validators = Page_Validators || new Array();后者如上所述
      

  2.   

    Page_Validators[Page_Validators.length] = document.getElementById("TextBox1C");
      

  3.   

    楼上的,我不是要返回索引,我要的是添加
    如C#
    ArrayList list;Object obj = "要添加的对像";
    if(list == null)
    {
        list=new ArrayList(new object[]{obj});
    }
    else
    {
        list.Add(obj);
    }谢谢,上面是C#相当于这样的功能谢谢
      

  4.   

    RE:
    JS是不是
    if(Page_Validators==null)
    {
        Page_Validators=new Array(document.getElementById("TextBox1C");
    }
    else
    {
        Page_Validators[Page_Validators.length] = document.getElementById("TextBox1C");
    }
    是吗
      

  5.   

    C#
    list.Add(obj); 
    相当于
    js
    list.push(obj);^_^
      

  6.   

    <script>
    function $(id)
    {
        return document.getElementById(id);
    }//按索引删除
    function Array.prototype.removeAt(m)
    {
        if(typeof m=="number")
        {
           this.splice(m,1);
        }
    }//按funEqual函数判断对象相等,查找多个元素,返回查找到的索引数组
    function Array.prototype.indexOf(val,funEqual)
    {
        
        var index = [];
        for(var i=0;i<this.length;i++)
        {
            if(funEqual(this[i],val))
            {
                index.push(i);
            }
        }
        return index;
    }//按funEqual函数判断对象相等删除
    function Array.prototype.remove(val,funEqual)
    {
      
        var index = this.indexOf(val,funEqual);
        for(var i=0;i<index.length;i++)
        {
            this.splice(index[i],1);
        }
    }window.onload=function()
    {
        var objSet = new Array();
        objSet.push($("a"));
        objSet.push($("b"));
        objSet.push($("c"));
        
        objSet.removeAt(2);//删除c
        objSet.push($("d"));//添加d
        objSet.remove($("a"),function(m,n){return m.id==n.id});//删除a,第二个参数指定id相同则元素相同
        
        
        for(var i=0;i<objSet.length;i++)
        {
            alert(objSet[i].innerText);
        }
    }
    </script>
    <div id="a">aa</div>
    <div id="b">bb</div>
    <div id="c">cc</div>
    <div id="d">dd</div>
    <div id="e">ee</div>
      

  7.   

    改一个bug,因为splice从小到大操作会影响后面index的索引,所以改成从大到小操作
    //按funEqual函数判断对象相等删除
    function Array.prototype.remove(val,funEqual)
    {
        
        var index = this.indexOf(val,funEqual);
        for(var i=index.length-1;i>=0;i--)
        {
            this.splice(index[i],1);
        }
    }
      

  8.   

    改一个bug,因为splice从小到大操作会影响后面index的索引,所以改成从大到小操作
    //按funEqual函数判断对象相等删除
    function Array.prototype.remove(val,funEqual)
    {
        
        var index = this.indexOf(val,funEqual);
        for(var i=index.length-1;i>-1;i--)
        {
            this.splice(index[i],1);
        }
    }