JavaScriptで配列に要素が含まれるか調べる

スポンサーリンク

Ruby の Array#include? のような動作を期待して、JavaScript で同じように array.include(“hoge”) と書いてみたところ、まあやっぱり動かず。

【お知らせ】 英単語を画像イメージで楽に暗記できる辞書サイトを作りました。英語学習中の方は、ぜひご利用ください!
画像付き英語辞書 Imagict | 英単語をイメージで暗記
【開発記録】
英単語を画像イメージで暗記できる英語辞書サービスを作って公開しました
スポンサーリンク

indexOf で配列に要素が含まれるか判定

ということで、JavaScript で Ruby の Array#include? と同じように、配列に特定の要素が含まれるかどうかを判定する方法です。ちょっと調べたところ、indexOf を使う方法が一番お手軽っぽい。

以下、Firefox のデベロッパーツールのコンソールで試した例です。

要素が配列に含まれる場合は、要素の位置(インデックス)を返す。含まれない場合は、-1 を返します。

と書いてやると、要素が配列に含まれる場合を判定できる。0 以上で判定しても良いかと。

Underscore.js という便利そうなライブラリを発見

JavaScript 界隈のフレームワークやライブラリは全然詳しくないのですけど、ぐぐってた過程で Underscore.js という便利そうなライブラリを発見しました。

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 というライブラリもあるらしい。

Lo-Dash documentation

Rails 用の gem。

https://github.com/rweng/underscore-rails
https://github.com/rh/lodash-rails

もうちょっと調べて、Underscore.js(とlodash)を試してみようと思います。

スポンサーリンク
オライリーのJavaScritp本(通称サイ本)は、昔かなり読み込みました。
 
スポンサーリンク

Leave Your Message!