JScript 버 전의 Collection Base 클래스
function CollectionBase()
{
this.m_InnerArray = [];
this.m_Count = 0;
this.toString = function()
{
return '[class CollectionBase]';
};
}
CollectionBase.prototype.Clear = function()
{
this.m_InnerArray.splice(0, this.m_Count);
this.m_Count = 0;
};
CollectionBase.prototype.Clone = function()
{
var cb = new CollectionBase();
cb.m_InnerArray = this.m_InnerArray.slice(0);
cb.m_Count = this.m_Count;
return cb;
};
CollectionBase.prototype.Item = function(index)
{
return this.m_InnerArray[index];
};
CollectionBase.prototype.Add = function(item)
{
this.Insert(item);
};
CollectionBase.prototype.Contains = function(item)
{
return (this.IndexOf(itme) != -1);
};
CollectionBase.prototype.IndexOf = function(item)
{
for ( var i=0 ; i < this.m_Count ; ++i )
{
if ( this.m_InnerArray[i] == item )
{
return i;
}
}
return -1;
};
CollectionBase.prototype.LastIndexOf = function(item)
{
for ( var i=this.m_Count-1 ; i >= 0 ; --i )
{
if ( this.m_InnerArray[i] == item )
{
return i;
}
}
};
CollectionBase.prototype.Insert = function(item)
{
this.InsertAt(item, this.m_Count);
};
CollectionBase.prototype.InsertAt = function(item, index)
{
if ( typeof(item) != 'undefined' && typeof(index) != 'undefined' )
{
throw 'you must override this mothed.';
}
/**//* general case code */
/**//*
item.m_Collection = this;
if ( item.m_ChildCollection )
{
if ( this.Contains(item.m_ChildCollection) )
{
item.m_ChildCollection = null;
}
item.m_ChildCollection.m_ParentCollection = item;
}
this.m_Items.splice(index, 0, item);
this.m_Invalidate = true;
*/
};
CollectionBase.prototype.Remove = function(item)
{
for ( var i=0 ; i < this.m_Count ; ++i )
{
if ( this.m_InnerArray[i] == item )
{
this.RemoveAt(i);
break;
}
}
};
CollectionBase.prototype.RemoveAt = function(index)
{
if ( this.m_InnerArray[index] )
{
this.m_InnerArray.splice(index, 1);
this.m_Count--;
}
};
CollectionBase.prototype.Swap = function(itemA, itemB)
{
var iPsnA = this.IndexOf(itemA);
var iPsnB = this.IndexOf(itemB);
if ( iPsnA != -1 && iPsnB != -1 )
{
this.m_InnerArray[iPsnA] = itemB;
this.m_InnerArray[iPsnB] = itmeA;
}
};
CollectionBase.prototype.Sort = function(sortCallback)
{
if ( sortCallback )
{
this.m_InnerArray.sort(sortCallback);
}
else
{
this.m_InnerArray.sort();
}
};
CollectionBase.prototype.Reverse = function()
{
this.m_InnerArray.reverse();
};
이 Collection Base 클래스 가 생 긴 후에 우 리 는 주요 데이터 구조 로 집합 해 야 하 는 Menu, Tree, Grid, ToolBar 등 구성 요 소 를 만 들 때 Collection Base 를 직접 계승 하여 중복 코드 를 많이 줄 일 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
정수 반전Udemy 에서 공부 한 것을 중얼거린다 Chapter3【Integer Reversal】 (예) 문자열로 숫자를 반전 (toString, split, reverse, join) 인수의 수치 (n)가 0보다 위 또는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.