元の記事の公開場所: http://www.birchlee.com/post/2011/10/19/27.aspx
JavaScript では、以前は 2 次元配列を使用して実装されていたいくつかのキーと値のペアが頻繁に発生します。今回は、単に Dictionary ヘルプ クラスをシミュレートしました。
原則: キー配列と値配列の 2 つの配列を含むオブジェクトを作成し、JavaScript Array オブジェクトのメソッドを呼び出します。
W3C 参照アドレス: http://www.w3school.com.cn/js/jsref_obj_array.asp
BuildDictionary() メソッドは、2 つの配列を含む Dictionary オブジェクトを作成するために使用されます。
AddItem メソッドは、JavaScript の Array オブジェクトの Push メソッドを呼び出して、対応する配列にキーと値を追加します。
UpdateItem メソッドは、対応する値を変更するために使用されます。
DeleteItem メソッドは、JavaScript の Array オブジェクトの Splice メソッドを呼び出して要素を削除します。最初のパラメータは削除する要素のインデックスであり、最初のパラメータは削除する番号を表します。
GetKeyStr は、Keys 配列を連結した後に文字列を取得するために使用されます。
GetValueStr は、Values 配列を連結した後の文字列を取得するために使用されます。
合計 5 つのメソッドが含まれています。
/*辞書を作成*/
関数 BuildDictionary() {
dic = 新しいオブジェクト();
dic.Keys = new Array() //キー配列
dic.Values = new Array() //値の配列
ディックを返します。
}
/*キー、値を追加*/
関数 AddItem(キー, 値, dic) {
var keyCount = dic.Keys.length;
if (keyCount > 0) {
var フラグ = true;
for (var i = 0; i < keyCount; i++) {
if (dic.Keys[i] == キー) {
フラグ = false;
Break; // 存在する場合は追加しないでください。
}
}
if (フラグ) {
dic.Keys.push(キー)
dic.Values.push(値);
}
}
それ以外 {
dic.Keys.push(キー)
dic.Values.push(値);
}
ディックを返します。
}
/*キー、値を変更*/
関数 UpdateItem(key, value, dic) {
var keyCount = dic.Keys.length;
if (keyCount > 0) {
var フラグ = -1;
for (var i = 0; i < keyCount; i++) {
if (dic.Keys[i] == キー) {
フラグ = i;
Break; // 対応するインデックスを検索します。
}
}
if (フラグ > -1) {
dic.Keys[フラグ] = キー;
dic.Values[フラグ] = 値;
}
ディックを返します。
}
それ以外 {
ディックを返します。
}
}
/*キー値を削除*/
関数 DeleteItem(key, dic) {
var keyCount = dic.Keys.length;
if (keyCount > 0) {
var フラグ = -1;
for (var i = 0; i < keyCount; i++) {
if (dic.Keys[i] == キー) {
フラグ = i;
Break; // 対応するインデックスを検索します。
}
}
if (フラグ > -1) {
dic.Keys.splice(flag,1); //削除
dic.Values.splice(flag, 1); //削除
}
ディックを返します。
}
それ以外 {
ディックを返します。
}
}
/*キー文字列を取得し、シンボルと連結します*/
関数 GetKeyStr(セパレータ,dic)
{
var keyCount=dic.Keys.length;
if(キーカウント>0)
{
戻り dic.Keys.join(セパレータ);
}
それ以外
{
戻る '';
}
}
/*値文字列を取得し、シンボルと連結します*/
関数 GetValueStr(セパレータ,dic)
{
var keyCount=dic.Keys.length;
if(キーカウント>0)
{
dic.Values.join(セパレータ)を返します。
}
それ以外
{
戻る '';
}
}
使用法: グローバル変数を作成し、このグローバル変数を操作して使用します。
良いスタートが切れます