>  기사  >  웹 프론트엔드  >  JavaScript에서 사전 키-값 쌍 시뮬레이션

JavaScript에서 사전 키-값 쌍 시뮬레이션

高洛峰
高洛峰원래의
2016-11-25 14:01:581412검색

자바스크립트는 키-값 쌍을 자주 접합니다. 예전에는 2차원 배열로 구현했는데 오늘은 단순히 사전 도움말 클래스를 시뮬레이션했습니다.

원리: 키 배열과 값 배열이라는 두 개의 배열을 포함하는 개체를 만들고 JavaScript 배열 개체 메서드를 호출합니다.

W3C 참조 주소: http://www.w3school.com.cn/js/jsref_obj_array.asp

BuildDictionary() 메서드는 두 개의 배열을 포함하는 Dictionary 객체를 생성하는 데 사용됩니다

AddItem 메소드는 JavaScript Array 객체의 push 메소드를 호출하여 해당 배열에 키와 값을 추가합니다.

UpdateItem 메소드는 해당 값을 변경하는 데 사용됩니다

DeleteItem 메소드는 JavaScript Array 객체의 Splice 메소드를 호출하여 요소를 삭제합니다. 첫 번째 매개변수는 삭제해야 하는 요소의 인덱스입니다. 첫 번째 매개변수는 삭제된 항목 수를 나타냅니다.

GetKeyStr은 Keys 배열을 연결한 후 문자열을 가져오는 데 사용됩니다.

GetValueStr은 Values ​​배열을 연결한 후 문자열을 가져오는 데 사용됩니다.

총 5가지 메서드가 포함되어 있습니다.

/*사전 생성*/
function BuildDictionary() {
dic = new Object();
dic.Keys = new Array()
dic .Values ​​​​= new Array(); //값 배열
return dic;
}

/*添加 key,value*/
function AddItem(key, value, dic) {
    var keyCount = dic.Keys.length;
    if (keyCount > 0) {
var flag = true;
        for (var i = 0; i < keyCount; i++) {
            if (dic.Keys[i] == key) {
               플래그 = false;
                break ; //如果存재则不添加
            }
        }
        if (플래그) {
           dic.Keys.push(key)
           dic.Value s.push(값);
        }
    }
    else {
        dic.Keys.push(key)
        dic.Values.push(value);
    }
    return dic;
}
/ *更改key,value*/
function UpdateItem(key, value, dic) {
    var keyCount = dic.Keys.length;
    if (keyCount > 0) {
        var flag = - 1;
        for (var i = 0; i < keyCount; i++) {
            if (dic.Keys[i] == key) {
               플래그 = i;
                break; //查找상형 인덱스
            }
        }
        if (flag > -1) {
           dic.Keys[flag] = key;
            dic.Values[ 플래그] = 값;
        }
        return dic;
    }
    else {
        return dic;
    }
}
/*移除키 값*/
function DeleteItem( key, dic) {
    var keyCount = dic.Keys.length;
    if (keyCount > 0) {
        var flag = -1;
        for (var i = 0; i < keyCount; i++) {
            if (dic.Keys[i] == key) {
               플래그 = i;
               break; //查找상형 인덱스
            }
        }
        if (flag > -1) {
            dic.Keys.splice(flag,1); //移除
            dic.Values.splice(flag, 1);  //移除
        }
        return dic;
    }
    else {
        return dic;
    }
}

/*获取Key字符串,用符号拼接*/
function  GetKeyStr(separator,dic)
{
  var keyCount=dic.Keys.length;
  if(keyCount>0)
  {
  return dic. Keys.join(구분자);
  }
  else
  {
  return '';
  }
}
/*获取Value字符串,용符号拼接*/
함수  GetValueStr(구분자,dic)
{
  var keyCount=dic.Keys.length;
  if(keyCount>0)
  {
  return dic.Values.join(구분자) ;
  }
  else
  {
  return '';
  }
}

使사용방법:创建一个全局的变weight,操作这个全局变个就可以용了。


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