を見つけた。
http://gihyo.jp/dev/serial/01/underscorejs/0002
全部じゃないけどわかりやすい。
inArrayのような感じ。
_.contains([1, 2, 3], 3); // true
メモ。
var test = [{a: 1},{b: 2}]; var test2 = [{a: 1}]; _.filter(test, function(obj){ return !_.findWhere(test2, obj); });
めっちゃ便利ぃぃ。
ので、もしbreakしたい場合は_.some
か_.every
を使えばOK。
例えば下記のようなjsonオブジェクトでIDが5の要素のみ削除したいといった場合。
var oldJson = [ {id: 1, name: 'taro', age: 14}, {id: 2, name: 'yamada', age: 15}, {id: 3, name: 'emily', age: 16}, {id: 4, name: 'bob', age: 17}, {id: 5, name: 'hanako', age: 18} ];
_.filter()メソッドを用いると便利。
var newJson = _.filter(oldJson, , function(data) { return data.id != 5; })
これでID5のオブジェクトを削除することが出来る。
メモ。
例えばサーバーから下記のようなjsonが返ってきたとして。
[ { "id": 1, "name": "taro", "age": 16 }, { "id": 2, "name": "hanako", "age": 18 }, { "id": 3, "name": "bob", "age": 20 }, ]
IDと名前のマスタを生成したい場合、下記のように生成することが出来る。
// dataは上記のjsonオブジェクト var master = _.object(_.pluck(data, 'id'), _.pluck(data, 'name')) // => {"1": "taro", "2": "hanako", "3": "bob"}
underscoreさん便利っすわー。
Underscore.jsを拡張した超便利ライブラリを見つけたのでメモ。
基本的にUnderscore.jsと同じ文法で使えて、色々と便利メソッドが追加されたイメージ。
おまけに動作までUnderscore.jsよりも速いらしい。
これは便利だね。
めも。
var obj = {}; var arr = []; var val = ''; console.log(_.isEmpty(obj)); console.log(_.isEmpty(arr)); console.log(_.isEmpty(val)); // true // true // true