Underscore.js

【UnderscoreJS】の日本語解説。

を見つけた。

http://gihyo.jp/dev/serial/01/underscorejs/0002

全部じゃないけどわかりやすい。

【Underscore.js】配列中に指定の値があるかを判定する。

inArrayのような感じ。

_.contains([1, 2, 3], 3);
// true

 

【Underscore.js】二つのコレクションで重複しない要素のみを抽出する。

メモ。

var test = [{a: 1},{b: 2}];
var test2 = [{a: 1}];

_.filter(test, function(obj){ return !_.findWhere(test2, obj); });

めっちゃ便利ぃぃ。

 

【UnderscoreJS】Underscoreのeachはbreakが出来ない。

ので、もしbreakしたい場合は_.some_.everyを使えばOK。

 

【UnderscoreJS】RestAPIから取得したJSONなどの中から特定のIDを持つものを削除する。

例えば下記のような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のオブジェクトを削除することが出来る。

 

【UnderscoreJS】Jsonで取得してきたDBのデータからマスタオブジェクトを生成する。

メモ。

例えばサーバーから下記のような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さん便利っすわー。

 

【Javascript】Underscore.jsの拡張ライブラリ「Lo-Dash」。

Underscore.jsを拡張した超便利ライブラリを見つけたのでメモ。

http://lodash.com/

基本的に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