>  기사  >  웹 프론트엔드  >  JS Map 및 List_javascript 기술의 간단한 구현 코드

JS Map 및 List_javascript 기술의 간단한 구현 코드

WBOY
WBOY원래의
2016-05-16 17:29:45963검색
코드 복사 코드는 다음과 같습니다.

/*
* MAP 객체, MAP 기능 구현
*
* 인터페이스:
* size() MAP 요소 가져오기 항목 수
* isEmpty() MAP가 비어 있는지 확인
*clear() MAP의 모든 요소 삭제
* put(key, value) MAP에 요소(key, value) 추가
* 제거(키) 지정된 KEY의 요소를 삭제하고, 성공하면 True를 반환하고, 실패하면 False
를 반환합니다. * get(key) 지정된 KEY의 요소 값 VALUE를 가져오고, 실패하면 NULL
을 반환합니다. * 요소(색인) 지정된 인덱스의 요소를 가져옵니다(element.key 사용, element.value는 KEY 및 VALUE 가져옴). 실패하면 NULL을 반환합니다
* containKey(key) MAP에 지정된 KEY가 있는 요소가 포함되어 있는지 확인
* containValue( value) MAP에 지정된 VALUE가 있는 요소가 포함되어 있는지 확인합니다.
* value() MAP에 있는 모든 VALUE의 배열을 가져옵니다(ARRAY)
*key() MAP에 있는 모든 KEY의 배열을 가져옵니다( ARRAY)
*
* 예:
* var map = new Map();
*
* map.put("key", "value");
* var val = map.get("key")
* ……
*
*/
function Map() {
this.elements = new Array();
//MAP 요소 수 가져오기
this.size = function() {
                                                                                            사용             사용 사용   사용 .       사용 사용           out out through  through out off out through off off      through through'''' through through‐'' ‐‐‐'‐‐‐ 책임을 맡다,                                                                                                       ;
};
//MAP의 모든 요소 삭제
this.clear = function() {
this.elements = new Array();
};
//추가 MAP 요소 추가(키, 값)
this.put = function(_key, _value) {
this.elements.push( {
key : _key,
value : _value
}) ;
};
//지정된 KEY의 요소를 삭제하고, 성공하면 True를 반환하고, 실패하면 False를 반환합니다.
this.remove = function(_key) {
var bln = false;
시도 {
for (i = 0; i < this.elements.length; i ) {
if (this.elements[i].key == _key) {
this.elements.splice( 나, 1;                                                                                                                                                                                         , //지정된 KEY의 요소 값 VALUE를 가져오고 NULL을 반환합니다
실패 시 this.get = function(_key) {
{
                                                                                  | >                                                                                                          ~                                              ; (_index) {
        if (_index < 0 || _index >= this.elements.length) {
        > MAP에 지정된 KEY this.containsKey = function(_key) {
var bln = false;
시도 {
for (i = 0; i < this.elements.length; i ) {
                               
} 잡기 (e) {
               bln = false;                                      ;
//MAP에 지정된 VALUE의 요소가 포함되어 있는지 확인
this.containsValue = function(_value) {
var bln = false;
try {
for (i = 0 ; i < this.elements.length; i ) {
                                                                                                    }
} catch (e) { bln = false
bln
}; > // 맵에 있는 모든 값의 배열을 가져옵니다. (🎜> this.values ​​​​= function () {
var arr = new Array();
for (i = 0; i < this.elements.length; i ) {
arr.push(this.elements[i].value)
}
}; return arr;
};
// MAP에 있는 모든 KEY의 배열(ARRAY)
this.keys = function() {
var arr = new Array( );
for (i = 0; i < this.elements.length; i ) {
arr.push(this.elements[i].key);
}
return arr
};
}






코드 복사

코드는 다음과 같습니다.

/**
* js 구현 목록
*
*/
function List() {
this.value = [];
/* Add*/
this.add = function(obj ) {
                                                                                      사용                      using using   using   using   using       through out through   out through off 's ' through ‐ to ‐′‐‐‐‐ to 🎜> };
/* 지정된 값을 반환합니다. index*/
this.get = function(index) {
}; return this.value[index];
};
/* 삭제 인덱스 값을 지정합니다*/
this.remove = function(index) {
this.value.splice(index,1);
return this.value;
};
/* 모든 값 삭제*/
this .removeAll = function() {
return this.value = [];
};
/* 객체 포함 여부*/
this.constains = function(obj) {
for ( var i in this.value) {
if (obj == this.value[i]) {
return true;
continue;
                                             
                                                                                반환 allInfos = this.value[i] "," ;;
};

}


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