>  기사  >  웹 프론트엔드  >  Node.js는 C#_javascript 기술에서 List의 간단한 예를 시뮬레이션합니다.

Node.js는 C#_javascript 기술에서 List의 간단한 예를 시뮬레이션합니다.

WBOY
WBOY원래의
2016-05-16 16:56:441219검색

复主代码 代码如下:

/*
 * 목록 大可变数组
 * 버전: 1.0
 */
function List() {
    this.list = new Array();
};

/**
* 이 목록의 끝에 지정된 요소를 추가합니다.
* @param 객체 지정 요소
*/
List.prototype.add = function(object) {
    this.list[this.list.length] = object;
};

/**
* 이 목록의 끝에 목록을 추가하세요.
* @param listObject 목록
*/
List.prototype.addAll = function(listObject) {
    this.list = this.list.concat(listObject.list);
};

/**
* 이 목록의 지정된 위치에 있는 요소를 반환합니다.
* @param index는 위치를 지정합니다.
* @return 이 위치의 요소를 반환합니다.
*/
List.prototype.get = function(index) {
    return this.list[index];
};

/**
* 이 목록에서 지정된 위치에 있는 요소를 제거합니다.
* @param index는 위치를 지정합니다.
* @return 이 위치의 요소를 반환합니다.
*/
List.prototype.removeIndex = function(index) {
    var object = this.list[index];
    this.list.splice(index, 1 );   
    개체 반환;
};

/**
* 이 목록에서 지정된 요소를 제거합니다.
* @param 객체 지정 요소
* 이 위치의 @return 요소
*/
List.prototype.remove = function(object) {
    var i = 0;
    for(; i < this.list.length; i ) {       
        if( this.list[i] === object) {
            break;
        }      
    }
    if(i >= this.list.length) {
return null;
    } else {
        return this.removeIndex(i);
    }
};

/**
* 이 목록에서 모든 요소를 ​​제거합니다.
*/
List.prototype.clear = function() {
    this.list.splice(0, this.list.length);
};

/**
* 이 목록의 요소 수를 반환합니다.
* @return 요소 수
*/
List.prototype.size = function() {
    return this.list.length;
};

/**
* 목록에 지정된 시작(포함)과 끝(제외) 사이의 목록을 반환합니다.
* @param 시작 시작 위치
* @param 끝 끝 위치
* @return 새 목록
*/
List.prototype.subList = function(start, end) {   
    var list = new List();
    list.list = this.list.slice (시작, 끝);
    반환 목록;
};

/**
* 목록에 요소가 없으면 true를 반환합니다.
* @return true 또는 false
*/
List.prototype.isEmpty = function() {
    return this.list.length == 0;
};

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.