js list对象操作

function   Vector()
{
        this.data   =   new   Array();
        this.add   =   Vector_add;
        this.remove   =   Vector_remove;
        this.elementAt   =   Vector_elementAt;
        this.setElementAt   =   Vector_setElementAt;
        this.insert   =   Vector_insert;
        this.contains   =   Vector_contains;
        this.length   =   Vector_length;
        this.toString   =   Vector_toString;
}

function   Vector_add(   item   )
{
        this.data[   this.data.length   ]   =   item;
}

function   Vector_remove(   index   )
{
        var   data   =   this.data;
        data[   index   ]   =   null;
        var   tmpdata   =   new   Array();
        var   newindex   =   0;
        for(   var   i   =   0;   i   <   data.length;   i++   )
        {
                if(   data[   i   ]   !=   null   )
                {
                        tmpdata[   newindex   ]   =   data[   i   ];
                        newindex++;
                }
        }
        this.data   =   tmpdata;
}

function   Vector_removeItem(   item   )
{
        var   data   =   this.data;
        var   tmpdata   =   new   Array();
        var   newindex   =   0;
        for(   var   i   =   0;   i   <   data.length;   i++   )
        {
                if(   data[   i   ]   !=   item   )
                {
                        tmpdata[   newindex   ]   =   data[   i   ];
                }
                newindex++;
        }
        this.data   =   tmpdata;
}

function   Vector_elementAt(   index   )
{
        return   this.data[   index   ];
}

function   Vector_setElementAt(   index,   item   )
{
        this.data[   index   ]   =   item;
}

function   Vector_insert(   index,   item   )
{
        if(   index   ==   this.data.length   )
        {
                this.add(   item   );
                return;
        }
        var   data   =   this.data;
        var   tmpdata   =   new   Array();
        var   newindex   =   0;
        for(   var   i   =   0;   i   <   data.length;   i++   )
        {
                if(   i   ==   index   )
                {
                        tmpdata[   i   ]   =   item;
                        newindex++;
                }
                tmpdata[   newindex   ]   =   data[   i   ];
                newindex++;
        }
        this.data   =   tmpdata;
}

function   Vector_contains(   item   )
{
        for(   var   i   =   0;   i   <   this.data.length;   i++   )
        {
                if(   this.data[i]   ==   item   )
                {
                        return   true;
                }
        }
        return   false;
}

function   Vector_length()
{
        return   this.data.length;
}

function   Vector_toString()
{
        var   dataString   =   "[   ";
        var   data   =   this.data;
        for(   var   i   =   0;   i   <   data.length;   i++   )
        {
                dataString   +=   data[i]   +   "   ";
        }
        dataString   +=   "] ";
        return   dataString;
}

猜你喜欢

转载自zxlyecf2.iteye.com/blog/2215879