Underscore.jsを触ってみたのでメモ

  • Pocket
  • このエントリーをはてなブックマークに追加
  • 170 follow us in feedly

まえがき

Underscore.jsを少し触ってみたので自分用のメモを残しておこうと思います。

サンプルコード

console.log('Underscore.js');

var list = [
  1,
  2,
  3,
  4,
  5,
];

console.log('===== shuffle =====');
console.log(_.shuffle(list));
console.log(_(list).shuffle()); // オブジェクト指向っぽい書き方

console.log('===== each =====');
_(list).each(function(num){
  console.log(num);
});

console.log('===== map =====');
var list_2 = _(list).map(function(num){
  return num * 2;
});
console.log(list_2);

console.log('===== find =====');
var hit = _(list).find(function(num){
  return num > 2;
});
console.log(hit);

console.log('===== filter =====');
var hit = _(list).filter(function(num){
  return !(num % 2 === 0);
});
console.log(hit);

console.log('===== contains =====');
var is_exist = _(list).contains(3);
console.log(is_exist);

console.log('===== groupBy =====');
var group = _(list).groupBy(function(num){
    return num % 2? 'odd': 'even';
});
console.log(group);

console.log('===== countBy =====');
var count = _(list).countBy(function(num){
    return num % 2? 'odd': 'even';
});
console.log(count);

console.log('===== sortBy =====');
var sorted = _(list).sortBy(function(num){
    return Math.sin(num);
});
console.log(sorted);

var a = [
  1,
  3,
  5,
];
var b = [
  2,
  3,
  4,
  5,
  6,
];

console.log('===== union =====');
var union = _.union(a, b);
console.log(union);

console.log('===== intersection =====');
var intersection = _.intersection(a, b);
console.log(intersection);

console.log('===== difference =====');
var diff = _.difference(a, b);
console.log(diff);
var diff = _.difference(b, a);
console.log(diff);

console.log('===== uniq =====');
var uniq = _([1,2,3,1,2,4]).uniq();
console.log(uniq);

var obj = {
    hoge: 'Hoge',
    fuga: 'Fuga',
    piyo: 'Piyo',
}


console.log('===== keys =====');
console.log(_(obj).keys());

console.log('===== values =====');
console.log(_(obj).values());

console.log('===== invert =====');
console.log(_(obj).invert());

console.log('===== has =====');
console.log(_(obj).has('hoge'));
console.log(_(obj).has('Hoge'));

console.log('===== isString =====');
console.log(_('str').isString());
console.log(_().isString());
console.log(_(null).isString());
console.log(_(100).isString());

console.log('===== isNull =====');
console.log(_('str').isNull());
console.log(_().isNull());
console.log(_(null).isNull());
console.log(_(100).isNull());

console.log('===== isEmpty =====');
console.log(_('str').isEmpty());
console.log(_().isEmpty());
console.log(_(null).isEmpty());
console.log(_(100).isEmpty());

console.log('===== random =====');
console.log(_.random(10));
console.log(_.random(10, 20));

console.log('===== range =====');
console.log(_.range(10));
console.log(_.range(10, 20));
console.log(_.range(10, 20, 5));

console.log('===== escape =====');
console.log(_('hoge').escape());
console.log(_('<script>').escape());

console.log('===== times =====');
_(10).times(function(){
 console.log('hoge');
});

console.log('===== chain =====');
var chained = _(list).chain()
    .shuffle()
    .map(function(num){
        return num * 2;
    })
    .value();
console.log(chained);


関連記事

no image

BowerでJavascriptパッケージの管理をする

まえがき RubyのGemやnodeのnpmなど便利なパッケージ管理ツ...

記事を読む

Screeny Shot 2013-07-08 1.49.36.png

railsコマンドをジェネレートしてくれるアプリを作ってみた

まえがき railsのscaffoldとかmodelやら コマンドで作...

記事を読む

npmでYUIDocを使ってみる

YUIDocについて 公式ページ 公式APIドキュメント 環...

記事を読む

uglifyjs-1uglifyjs-1.png

UglifyJSでJavascriptファイルをコマンドラインで圧縮!おまけつき

まえがき 先日UglifyCSSというCSSを圧縮するためのnodeの...

記事を読む

Feedlyでのブログ購読者数を取得するためのメモ

まえがき 今回はFeedlyで自分のブログが何人の人に読んでもらえて...

記事を読む

新着記事

no image

PHPでRubyのirbっぽいインタラクティブなスクリプトが実行できる「boris」

まえがき PHPでもRubyのirbみたいなことがしたくて探してみたと...

記事を読む

2015年の抱負と去年の振り返り〜よちよちWEB業界1年経験して〜

まえがき あけましておめでとうございます。今年もどうぞよろしくお願いし...

記事を読む

Java SE 7 Bronze試験(1Z0-802)を受けてきました

まえがき 以前から少し受けてみたかった試験『Java SE 7 Bro...

記事を読む

HubotでJenkinsのジョブを実行する

まえがき HubotをつかってJenkinsのジョブをじっこうしてみた...

記事を読む

no image

Hubotをforeverでデーモン化する

まえがき 今回はHubotをforeverを使ってデーモン化してみた時...

記事を読む

スポンサーリンク

PAGE TOP ↑