Javascriptでissetとin_array
Javascriptでissetとin_array
日ごろPHPに慣れていると、不慣れなJavascriptでも似たような関数を探します。
issetとは変数がちゃんと定義されているか、in_arrayは配列中に指定された値がsetされているかを判定し、True、Falseを結果に応じて返してくれるものですがJavascriptにはそんなPHPではあたりまえにやっていたことがプロパティとして用意されていません。
そこで今回はissetとin_arrayをJavascript式でやってみたいと思います。
Javascriptでisset
変数がセットされているかどうかを判定するプロパティは用意されていませんが、仮に変数を定義していなくて、それでも変数を出力しようとすればundifinedが返ってくるので
//typeofの後に変数 if (typeof obj == 'undefined') { alert('お前はすでにundefinedだっ!'); }else{ alert('お前の変数は定義されている'); }
typeofとは、変数がどういう内容が入っているか、数値型なのか、文字列型なのか、undefinedなのかを調べるプロパティです。
Javascriptでin_array
私もこちらは解説できるほど詳しくありませんが、海外のコードでこちらが出回っておりましたし、これで動作の確認も出来ました。なお、prototypeとprototype.jsとは何のかかわりもありません。
Array.prototype.in_array = function(val) { for(var i = 0, l = this.length; i < l; i++) { if(this[i] == val) { return true; } } return false; } var v_array = [ 5, 10, 15, 20, 25]; //数字の12はv_arrayの中に含まれない if(!v_array.in_array(12)){ alert('お前はさらにundefinedだっ!'); }