- 更新日: 2014年12月15日
- jQuery & JavaScript
JavaScriptで配列に要素が含まれるか調べる
Ruby の Array#include? のような動作を期待して、JavaScript で同じように array.include(“hoge”) と書いてみたところ、まあやっぱり動かず。
indexOf で配列に要素が含まれるか判定
ということで、JavaScript で Ruby の Array#include? と同じように、配列に特定の要素が含まれるかどうかを判定する方法です。ちょっと調べたところ、indexOf を使う方法が一番お手軽っぽい。
以下、Firefox のデベロッパーツールのコンソールで試した例です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
> var arr = ["foo", "bar", "baz"]; > // undefined > arr > // Array [ "foo", "bar", "baz" ] > arr.indexOf("bar"); > // 1 > arr.indexOf("baz"); > // 2 > arr.indexOf("hoge"); > // -1 > arr.indexOf("fuga"); > // -1 |
要素が配列に含まれる場合は、要素の位置(インデックス)を返す。含まれない場合は、-1 を返します。
1 2 3 |
if ( arr.indexOf("baz") !== -1 ) { // do something } |
と書いてやると、要素が配列に含まれる場合を判定できる。0 以上で判定しても良いかと。
Underscore.js という便利そうなライブラリを発見
JavaScript 界隈のフレームワークやライブラリは全然詳しくないのですけど、ぐぐってた過程で Underscore.js という便利そうなライブラリを発見しました。
each, map, find, pluck, where, reduce, filter, reject, max, min, sortBy, shuffle, flatten, uniq, bind, keys, values, tap… などなど、Ruby, Rails や Python 使いな人だったら馴染みありそうなメソッドが沢山準備してあるライブラリ。
JavaScriptで関数型プログラミングを強力に後押しするUnderscore.jsのおすすめメソッド12選(lodashもあるよ) – Qiita
javascriptの配列操作に便利なライブラリ「Underscore.js, Lo-Dash」
第1回 Underscore.jsとは:Underscore.jsの入り口|gihyo.jp … 技術評論社
Backbone.js(JavaScriptのフレームワーク)で採用されているそうで、信頼性高そうです。Underscore.js と互換を持ちパフォーマンスの良い(?)lodash というライブラリもあるらしい。
Rails 用の gem。
https://github.com/rweng/underscore-rails
https://github.com/rh/lodash-rails
もうちょっと調べて、Underscore.js(とlodash)を試してみようと思います。
- jQuery & JavaScript の関連記事
- React.js用にESLintをインストールして設定、JavaScriptコードを楽に検証しよう
- JavaScriptでHTMLコメント要素を取得する
- YahooのJavaScriptマップAPI(YOLP)で地図を描画
- HTML5のGeolocation APIで現在地の位置情報(緯度/経度)を取得するJavaScriptコード
- JavaScriptでキャメルケースを単語に分割
- Browserify + GulpでクライアントのJavaScript / CoffeeScriptでrequire
- JavaScript/jQueryでDOM要素が存在するか確認する方法
- JavaScriptでスクロールを一時的に止める
- JavaScriptでcapitalize、アルファベット一文字目を大文字にする
- JavaScriptでrangeオブジェクトから座標を取得するコード
Leave Your Message!