ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript で辞書のキーと値のペアをシミュレートする

JavaScript で辞書のキーと値のペアをシミュレートする

高洛峰
高洛峰オリジナル
2016-11-25 14:01:581412ブラウズ

JavaScript は、以前は 2 次元配列で実装されていたことがよくあります。今日は、Dictionary ヘルプ クラスをシミュレートしました。

原則: キー配列と値配列の 2 つの配列を含むオブジェクトを作成し、JavaScript Array オブジェクト メソッドを呼び出します。

W3C 参照アドレス: http://www.w3school.com.cn/js/jsref_obj_array.asp

BuildDictionary() メソッドは 2 つの配列を含む Dictionary オブジェクトを作成するために使用されます

AddItem メソッドは JavaScript の Array オブジェクトを呼び出しますプッシュ メソッドキーと値を対応する配列に追加するために使用されます。

UpdateItem メソッドは、対応する値を変更するために使用されます。

DeleteItem メソッドは、要素を削除するために呼び出されます。最初のパラメーターは、削除する必要がある要素のインデックスです。削除された要素の数を表します。

GetKeyStrは、Keys配列を連結した後の文字列を取得するために使用されます

GetValueStrは、Values配列を連結した後の文字列を取得するために使用されます

合計5つのメソッドが含まれています:

/*Create Dictionary*/
function BuildDictionary( ) {
dic = new Object();
dic.Keys = new Array(); //key array
dic.Values = new Array(); //value 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;
//如果存在则不添加
}
}
if (フラグ) {
dic.Keys.push(key)
dic.Values.push(value);
}
}
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) {
flag = i ;
休憩; //查找相应的index
}
}
if (flag > -1) {
dic.Keys[flag] = key;
dic.Values[flag] = value;
}
return dic;
}
else {
return dic;
}
}
/*移削除key value*/
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) {
flag = i;
Break; //查找相应的index
}
}
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(separator);
}
else
{
return '';
}
}
/*获取Value文字列,用シンボル拼接*/
function GetValueStr(separator,dic)
{
var keyCount=dic.Keys.length;
if(keyCount>0)
{
return dic.Values.join(separator);
}
else
{
return '';
}
}

使用方法: 全局の变量を作成し、この全局变量を操作することができます。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。