prototype.jsリファレンス継承(Enumerable)
- すべての要素を返す〔entries()〕
- 要素内の最小値・最大値を取得〔min()/max()〕
- 繰り返し処理〔each()〕
- 全要素がnull、0、undefined以外か調べる〔all()〕
- 要素にnull、0、undefinedが含まれるか調べる〔any()〕
- 条件に一致する要素を返す〔detect()〕
- 条件に一致する要素をすべて返す〔findAll()〕
- 指定した連想配列の値を取得〔pluck()〕
- 要素を条件付きで分割する〔partition()〕
- 全要素を結合する〔inject()〕
- 要素に対して処理を行う〔invoke()〕
- ソート〔sortBy()〕
- 正規表現に一致するデータがあるか調べる〔grep()〕
- 複数の配列を合体〔zip()〕
- 条件に一致しない要素を取得〔reject()〕
- イテレータの処理結果を返す〔collect()/map()〕
すべての要素を返す
entries()
unknown
列挙型オブジェクト.entries();
列挙型オブジェクト.toArray();
サンプルを見る列挙型オブジェクト.toArray();
<div id="res_entries"></div> <div id="res_toarray"></div> <script type="text/javascript"> var obj=["田中","鈴木","斉藤"]; $("res_entries").innerHTML=obj.entries(); $("res_toarray").innerHTML=obj.toArray(); </script>
要素内の最小値・最大値を取得
min()/max()
unknown
列挙型オブジェクト.min([イテレータ関数]);
列挙型オブジェクト.max([イテレータ関数]);
サンプルを見る列挙型オブジェクト.max([イテレータ関数]);
<div id="res_min"></div>
<div id="res_max"></div>
<script type="text/javascript">
var obj=[5,1,2,3]; /* var obj=[100,1,2,3]; うまくいかない */
$("res_min").innerHTML=obj.min(function(value,index){
return "最小値は、「"+value+"」です。";
});
$("res_max").innerHTML=obj.max(function(value,index){
return "最大値は、「"+value+"」です。";
});
</script>
繰り返し処理
each()
unknown
列挙型オブジェクト.each(イテレータ関数);
サンプルを見る<div id="box1"></div> <div id="box2"></div> <div id="box3"></div> <script type="text/javascript"> var obj=$("box1","box2","box3") obj.each(function(obj){ obj.innerHTML="ID名: "+obj.id; }); </script>
全要素がnull、0、undefined以外か調べる
all()
unknown
列挙型オブジェクト.all([イテレータ関数]);
サンプルを見る<p><input type="text" id="def_all1" /> → <span id="res_all1"></span></p> <p><input type="text" id="def_all2" /> → <span id="res_all2"></span></p> <p><input type="text" id="def_all3" /> → <span id="res_all3"></span></p> <p><input type="text" id="def_all4" /> → <span id="res_all4"></span></p> <p><input type="text" id="def_all5" /> → <span id="res_all5"></span></p> <script type="text/javascript"> /* 列挙型オブジェクト */ var obj1=[]; var obj2=[""]; var obj3=[1,2,3]; var obj4=[1,2,,4,5]; var obj5=[1,2,3,4,5,0,7]; $("def_all1").value=obj1.inspect(); $("def_all2").value=obj2.inspect(); $("def_all3").value=obj3.inspect(); $("def_all4").value=obj4.inspect(); $("def_all5").value=obj5.inspect(); /* 全要素がnull、0、undefined以外か調べる */ $("res_all1").innerHTML=obj1.all(); $("res_all2").innerHTML=obj2.all(); $("res_all3").innerHTML=obj3.all(); $("res_all4").innerHTML=obj4.all(); $("res_all5").innerHTML=obj5.all(); </script>
要素にnull、0、undefinedが含まれるか調べる
any()
unknown
列挙型オブジェクト.any([イテレータ関数]);
サンプルを見る<p><input type="text" id="def_any1" /> → <span id="res_any1"></span></p> <p><input type="text" id="def_any2" /> → <span id="res_any2"></span></p> <p><input type="text" id="def_any3" /> → <span id="res_any3"></span></p> <p><input type="text" id="def_any4" /> → <span id="res_any4"></span></p> <p><input type="text" id="def_any5" /> → <span id="res_any5"></span></p> <script type="text/javascript"> /* 列挙型オブジェクト */ var obj1=[]; var obj2=[""]; var obj3=[1,2,3]; var obj4=[1,2,,4,5]; var obj5=[1,2,3,4,5,0,7]; $("def_any1").value=obj1.inspect(); $("def_any2").value=obj2.inspect(); $("def_any3").value=obj3.inspect(); $("def_any4").value=obj4.inspect(); $("def_any5").value=obj5.inspect(); /* 要素にnull、0、undefinedが含まれるか調べる */ $("res_any1").innerHTML=obj1.any(); $("res_any2").innerHTML=obj2.any(); $("res_any3").innerHTML=obj3.any(); $("res_any4").innerHTML=obj4.any(); $("res_any5").innerHTML=obj5.any(); </script>
条件に一致する要素を返す
detect()
unknown
列挙型オブジェクト.detect(イテレータ関数);
列挙型オブジェクト.find(イテレータ関数);
サンプルを見る列挙型オブジェクト.find(イテレータ関数);
<div id="res_detect"></div> <div id="res_find"></div> <script type="text/javascript"> var obj=["田中","鈴木","斉藤"]; $("res_detect").innerHTML=obj.detect(function(value,index){ return (value=="鈴木") ? true : false; }); $("res_find").innerHTML=obj.find(function(value,index){ return (value=="鈴木") ? true : false; }); </script>
条件に一致する要素をすべて返す
findAll()
unknown
列挙型オブジェクト.findAll(イテレータ関数);
列挙型オブジェクト.select(イテレータ関数);
サンプルを見る列挙型オブジェクト.select(イテレータ関数);
<div id="res_findall"></div> <div id="res_select"></div> <script type="text/javascript"> var obj=[0,1,2,3,4,5,6,7,8,9]; $("res_findall").innerHTML=obj.findAll(function(value,index){ return (value%2==0) ? true : false; }); $("res_select").innerHTML=obj.select(function(value,index){ return (value%2!=0) ? true : false; }); </script>
指定した連想配列の値を取得
pluck()
unknown
列挙型オブジェクト.pluck(メソッド名);
サンプルを見る<div id="res_pluck"></div> <script type="text/javascript"> var objList=[ {id:"1", name:"田中", age:"20"}, {id:"2", name:"鈴木", age:"30"} ]; $("res_pluck").innerHTML="name: "+objList.pluck("name").inspect()+"<br>"; $("res_pluck").innerHTML+="age: "+objList.pluck("age").inspect(); </script>
要素を条件付きで分割する
partition()
unknown
列挙型オブジェクト.partition([イテレータ関数]);
サンプルを見る<div id="res_partition"></div> <script type="text/javascript"> var obj=["apple","banana","orange","lemon","grape"]; var res=obj.partition(function(value,index){ return (value.endsWith("e")==true) ? true : false; }); $("res_partition").innerHTML="末尾がeでおわるもの: "+res[0]+"<br>それ以外でおわるもの: "+res[1]; </script>
全要素を結合する
inject()
unknown
列挙型オブジェクト.inject(初期値,イテレータ関数);
サンプルを見る<div id="res_inject"></div> <script type="text/javascript"> var obj=["2000","XP","Vista"]; $("res_inject").innerHTML=obj.inject("",function(name,value,index){ return name+="Windows "+value+"<br>"; }); </script>
要素に対して処理を行う
invoke()
unknown
列挙型オブジェクト.invoke(メソッド名[, メソッドに渡すパラメータ]);
サンプルを見る<div id="res_invoke"></div> <script type="text/javascript"> var funcList=[ {check:function(arg1){ return "私は"+arg1+"女だわ。"; }}, {check:function(arg2){ return "俺は"+arg2+"男さ。"; }}, ]; $("res_invoke").innerHTML=funcList.invoke("check","晴れ").inspect()+"<br>"; $("res_invoke").innerHTML+=funcList.invoke("check","雨").inspect()+"<br>"; </script>
ソート
sortBy()
unknown
列挙型オブジェクト.sortBy(イテレータ関数);
サンプルを見る<div id="res_sortby"></div> <script type="text/javascript"> var obj=[2,100,4,6,0,3,1]; var res=obj.sortBy(function(value,index){ return value; }); $("res_sortby").innerHTML="ソート前: "+obj.inspect()+"<br>"; $("res_sortby").innerHTML+="ソート後: "+res.inspect(); </script>
正規表現に一致するデータがあるか調べる
grep()
unknown
列挙型オブジェクト.grep(正規表現パターン[,イテレータ関数]);
サンプルを見る<div id="res_grep"></div> <script type="text/javascript"> var obj=["田中","鈴木","斉藤","木村"]; $("res_grep").innerHTML=obj.grep(/木$/,function(value,index){ return value+"さん"; }); </script>
複数の配列を合体
zip()
unknown
列挙型オブジェクト.zip(オブジェクト[,オブジェクト, ...] [,処理関数]);
サンプルを見る<div id="res_zip"></div> <div id="res_zip2"></div> <script type="text/javascript"> var obj1=["a","b","c"]; var obj2=["A","B","C"]; var obj3=[1,2,3]; $("res_zip").innerHTML=obj1.zip(obj2,obj3).inspect(); obj2.zip(obj3, function(ary){ var n="user: "; ary.each(function(value){ n+=value;}); $("res_zip2").innerHTML+=n+"<br>"; }); </script>
条件に一致しない要素を取得
reject()
unknown
列挙型オブジェクト.reject(イテレータ関数);
サンプルを見る<div id="res_reject"></div> <script type="text/javascript"> var obj=["apple","banana","orange","lemon","grape"]; var res=obj.reject(function(value,index){ return (value.endsWith("e")==true) ? true : false; }); $("res_reject").innerHTML="末尾がeでおわらないもの: "+res.inspect(); </script>
イテレータの処理結果を返す
collect()/map()
unknown
列挙型オブジェクト.collect(イテレータ関数);
列挙型オブジェクト.map(イテレータ関数);
サンプルを見る列挙型オブジェクト.map(イテレータ関数);
<div id="res_collect"></div> <div id="res_map"></div> <script type="text/javascript"> var obj=["田中","鈴木","斉藤"]; $("res_collect").innerHTML=obj.collect(function(value,index){ return value+"さん"; }); $("res_map").innerHTML=obj.collect(function(value,index){ return value+"様"; }); </script>