prototype.jsリファレンスハッシュ、連想配列(Hash)
- ハッシュの内容をクエリー文字列に変換〔toQueryString()〕
- ハッシュから要素を削除〔unset()〕
- ハッシュ内のすべての値を取得〔values()〕
- get〔get()〕
- ハッシュをコピー〔clone()〕
- each〔each()〕
- ハッシュをJSON形式に変換〔toJSON()〕
- ハッシュを可読可能な文字列に変換〔inspect()〕
- ハッシュ内のすべてのキーを取得〔keys()〕
- ハッシュにキーと値を追加〔set()〕
- ハッシュをオブジェクトに変換〔toObject()〕
- ハッシュの結合〔merge()〕
ハッシュの内容をクエリー文字列に変換
toQueryString()
unknown
ハッシュオブジェクト.toQueryString(); → String
ハッシュのキーと値を、クエリー文字列に変換して返します。
サンプルを見る<script type="text/javascript"> /* 連想配列にするオブジェクト */ var myObj={id:"1", name:"userA", age:"20"}; /* 連想配列を作成 */ var myHash=$H(myObj); /* 連想配列の内容をクエリー文字列に変換 */ document.write(myHash.toQueryString()+"<br>"); </script>
ハッシュから要素を削除
unset()
unknown
ハッシュオブジェクト.unset(key); → value
ハッシュから指定したキーの要素を削除し、削除したキーの値を返します(元配列自体が変化)。 複数のキーを削除する場合は、キーをカンマ区切りで指定します。この場合、返り値は削除したキーの値は配列で返されます。
サンプルを見る<textarea id="res_unset" style="width:90%;"></textarea> <script type="text/javascript"> var h=$H({ a:'apple', b:'banana', g:'grape' }) $("res_unset").value+="削除前: "+h.inspect()+"\n"; var del=h.unset('b'); $("res_unset").value="削除したキーの値: "+del.inspect()+"\n"; $("res_unset").value+="削除後: "+h.inspect()+"\n"; </script>
ハッシュ内のすべての値を取得
values()
unknown
ハッシュのすべての値=ハッシュオブジェクト.values();
ハッシュ内のすべての値を配列にして返します。 ハッシュ内に値がない場合は、空の配列を返します。
サンプルを見る<script type="text/javascript"> var h = $H({ a: 'apple', b: 'banana', g: 'grape' }); document.write(h.values().inspect()+"<br>"); var h = $H(); document.write(h.values().inspect()); </script>
get
get()
unknown
ハッシュオブジェクト.get(key); → value
指定したキーの値を取得します。 指定したキーがハッシュ内に存在しない場合は、undefinedを返します。
第1引数keyに取得する値のキー指定します。
サンプルを見る<script type="text/javascript"> var h = $H({ a: 'apple', b: 'banana', g: 'grape' }); document.write(h.get('a')+"<br>"); document.write(h.get('c')+"<br>"); </script>
ハッシュをコピー
clone()
unknown
ハッシュオブジェクト.clone(); → newHash
サンプルを見る<script type="text/javascript"> var h = new Hash({a: 'apple', b: 'banana'}); var clone = h.clone(); h.unset('a'); document.write("hash: "+h.toQueryString()+"<br>"); document.write("clone: "+clone.toQueryString()); </script>
each
each()
unknown
ハッシュオブジェクト.each(イテレータ関数); → Hash
サンプルを見る<script type="text/javascript"> var h=$H({name: "PHP & JavaScript Room", url: 'http://phpjavascriptroom.com/'}); h.each(function(pair){ document.write(pair.key+": "+pair.value+"<br>"); }); </script>
ハッシュをJSON形式に変換
toJSON()
unknown
ハッシュオブジェクト.toJSON(); → String
サンプルを見る<input type="text" id="res_set" style="width:90%;" /> <script type="text/javascript"> var h=$H({ a: 'apple', b: 'banana', g: 'grape' }); $("res_set").value=h.toJSON(); </script>
ハッシュを可読可能な文字列に変換
inspect()
unknown
ハッシュオブジェクト.inspect(); → String
サンプルを見る<input type="text" id="res_inspect" style="width:90%;" /> <script type="text/javascript"> var h = $H({ a: 'apple', b: 'banana', g: 'grape' }); $("res_inspect").value=h.inspect(); </script>
ハッシュ内のすべてのキーを取得
keys()
unknown
ハッシュオブジェクト.keys(); → [String...]
ハッシュ内のすべてのキーを配列にして返します。 ハッシュ内にキーがない場合は、空の配列を返します。
サンプルを見る<script type="text/javascript"> var h = $H({ a: 'apple', b: 'banana', g: 'grape' }); document.write(h.keys().inspect()+"<br>"); var h = $H(); document.write(h.keys().inspect()); </script>
ハッシュにキーと値を追加
set()
unknown
ハッシュオブジェクト.set(key, value); → value
ハッシュにキーと値を追加します。 既にハッシュ内に同じキーが存在する場合は、追加した値が上書きされます。
サンプルを見る<textarea id="res_set" style="width:90%;"></textarea> <script type="text/javascript"> var h=$H({ a: 'apple', b: 'banana', g: 'grape' }); h.set('c', 'coconut'); $("res_set").value+=h.inspect()+"\n"; h.set('g', 'grape-fruit'); $("res_set").value=h.inspect()+"\n"; </script>
ハッシュをオブジェクトに変換
toObject()
unknown
ハッシュオブジェクト.toObject(); → Object
サンプルを見る<textarea id="res_toobject" style="width:90%;"></textarea> <script type="text/javascript"> var h=$H({ a: 'apple', b: 'banana', g: 'grape' }); var obj=h.toObject(); $("res_toobject").value=Object.inspect(h)+"\n"; Object.inspect(obj); $("res_toobject").value+=h.get('g')+"\n"; obj.a = 'orange'; $("res_toobject").value+=h.get('a')+"\n"; </script>
ハッシュの結合
merge()
unknown
ハッシュオブジェクト1.merge(ハッシュオブジェクト2); → newHash
ハッシュを結合した新しい配列を返します。 キーが重複する場合、第1引数に指定したハッシュのキーの値が宇和がかれます。
サンプルを見る<input type="text" id="res_merge" style="width:90%;" /> <script type="text/javascript"> /* ハッシュ1 */ var h1=$H({id:"1", name:"userA", age:"20", sex:"male"}); /* ハッシュ2 */ var h2=$H({address:"Tokyo", sex:"female"}); /* ハッシュを結合 */ var merge=h1.merge(h2); $("res_merge").value=merge.inspect(); </script>