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

  • Pocket
  • このエントリーをはてなブックマークに追加
  • 164 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

javascriptのテストツール【Jasmine】の環境構築

まえがき javascriptのテストフレームワーク「Jasmine」...

記事を読む

Screeny Shot 2013-06-11 3.43.31.png

Alloyで書籍検索アプリを作ってみた

    まえがき 先日、Alloyで開発環境を作りましたが、 ...

記事を読む

npmでYUIDocを使ってみる

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

記事を読む

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

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

記事を読む

no image

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

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

記事を読む

新着記事

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 ↑