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>