読者です 読者をやめる 読者になる 読者になる

ikemonn's blog

技術ネタをちょこちょこと

【Underscore.js】_.matcherを読んだ

jashkenas/underscoreの_.matcherを読んだ。 概要 _.matcher(attrs) 引数の「key : val」と同じものがあるかを判別する部分適用した関数を返す。 var matcher = _.matcher({age: 20, sex: "male"}); console.log(matcher({age: 20, sex: "male", country: "J…

【Underscore.js】_.omitを読んだ

jashkenas/underscoreの_.omitを読んだ。 概要 _.omit(object, *keys) 第1引数から第2引数以降で指定したkey値以外のkey値とその値で構成されたObjectを返す。 var x = _.omit( {age: 20, sex: "male", country: "JP", name: "HOGA"}, ['age', 'sex']); cons…

【Underscore.js】_.pickを読んだ

jashkenas/underscoreの_.pickを読んだ。 概要 _.pick(object, *keys) 第一引数から第2引数以降で指定したkey値とその値で構成されたObjectを返す。 var x = _.pick({age: 20, sex: "male", country: "JP", name: "HOGA"}, 'age', 'country'); console.log(x…

【Underscore.js】_.extendと_.extendOwnを読んだ

jashkenas/underscoreの_.extendと_.extendOwnを読んだ。 概要 _.extend(destination, *sources) _.extendOwn(destination, *sources) extend: sourcesに含まれている全てのプロパティ(プロトタイプを含む。)をdestinationにコピーしたものを返す extendOw…

【Underscore.js】_.mapObjectを読んだ

jashkenas/underscoreの_.mapObjectを読んだ。 概要 _.mapObject(object, iteratee, [context]) objectの各値に第2引数で指定した関数を適用した第1引数を返す。.mapは値の配列を返すが、.mapObjectはオブジェクトを返す。 _.mapObject({age: 20, score: 50}…

【Underscore.js】_.throttleを読んだ

jashkenas/underscoreの_.throttleを読んだ。 概要 _.throttle(function, wait, [options]) functionを一度目は即時実行して、二回目以降はwaitミリ秒待ってから実行する関数を返す。waitミリ秒までに複数回関数を実行しようとしても、最後に受け付けた関数…

【Underscore.js】_.deferを読んだ

jashkenas/underscoreの_.deferを読んだ。 概要 _.defer(function, *arguments) ``` 現在のコールスタックがクリアされたあとに、functionを実行させる。 setTimeoutを0msで実行するのと似ている。 処理が重い計算や、HTMLのレンダリング等に使うと便利。 co…

【Underscore.js】_.memoizeを読んだ

jashkenas/underscoreの_.memoizeを読んだ。 概要 _.bind(function, object, *arguments) 一度計算した値をキャッシュしておく機能を関数に付け加える。 var num = 40; var fib = function(n) { return n < 2 ? n : fib(n - 1) + fib(n - 2); }; console.tim…

【Underscore.js】_.sortedIndexを読んだ

jashkenas/underscoreの_.sortedIndexを読んだ。 概要 _.sortedIndex(list, value, [iteratee], [context]) ソートされているlistに対して、valueがどの位置に入るかを返す。 _.sortedIndex([10, 20, 30, 40, 50], 35); // 3 ソースコード _.sortedIndex = f…

【Underscore.js】_.zipを読んだ

jashkenas/underscoreの_.zipを読んだ。 概要 _.zip(*arrays) 引数である各配列のindex値の値をまとめた配列を作る。返される配列のlengthは引数の中で1番長いlengthを持つ配列と同じ長さになる。 var x = _.zip(['moe', 'larry', 'curly'], [30, 40, 50], […

【Underscore.js】_.uniqを読んだ

jashkenas/underscoreの_.uniqを読んだ。 概要 _.uniq(array, [isSorted], [iteratee]) arrayの各値の中で同じ値があった場合、1つだけにされ各値が重複のない配列として返される。配列がソートされている際に、isSortedをtrueにするとより高速に動作する。 …

【Underscore.js】_.intersectionを読んだ

jashkenas/underscoreの_.intersectionを読んだ。 概要 _.intersection(*arrays) 第一引数の配列の各値の中で、第二引数以降のすべての配列に含まれている値を返す。 var x = _.intersection([1, 10, 10, 3], [3 ,190, 10], [1, 545, 3, 10]); console.log(x…

【Underscore.js】_.unionを読んだ

jashkenas/underscoreの_.unionを読んだ。 概要 _.union(*arrays) 引数で与えられた配列を一つにまとめる。 その際に重複した値は削除され、重複した値がない配列となって返される。 var x = _.union([1, 10, 10, 3], [3 ,190]); console.log(x); // [1, 10,…

【Underscore.js】_.withoutを読んだ

jashkenas/underscoreの_.withoutを読んだ。 概要 _.without(array, *values) arrayからvaluesを除いた配列を返す。 var list = [1, 10, 7, 190, 43]; var x = _.without(list, 7, 43 ,190); console.log(x); // [1, 10] ソースコード _.without = function(…

【Underscore.js】_.flattenを読んだ

jashkenas/underscoreの_.flattenを読んだ。 概要 _.flatten(array, [shallow]) 入れ子になっている配列を、一次元の配列に変換する。 shallowがtrueの時は、一つだけ入れ子をなくす。 list = [1, 10, 7, [190, 43], [[1]]]; var x = _.flatten(list); conso…

【Underscore.js】_.compactを読んだ

jashkenas/underscoreの_.compactを読んだ。 概要 _.compact(array) 配列の中のfalsyな値(false, null, 0, "", undefined, NaN)を除いて返す。 var list = [0, null, undefined, 1, 2, "null", "", NaN]; var x = _.compact(list); console.log(x); // [1, 2…

【Underscore.js】_.initialを読んだ

jashkenas/underscoreの_.initialを読んだ。 概要 _.initial(array, [n]) 末尾からn個を除くすべての配列の要素を返す。 nが指定されていない時は、arrayの最後の要素以外のすべてを返す。 var list = [1, 10, 7, 190, 43]; var x = _.initial(list); consol…

【Underscore.js】_.partitionを読んだ

jashkenas/underscoreの_.partitionを読んだ。 概要 _.partition(array, predicate) listをpredicateを満たすものと満たさないものの2つ配列に分割して返す。 var list = [1, 10, 7, 190, 43];var x = _.partition(list, function(num) { return num % 2 ===…

【Underscore.js】_.toArrayを読んだ

jashkenas/underscoreの_.toArrayを読んだ。 概要 _.toArray(list) listを配列にして返す。 var list = {age: 20, sex: "male", country: "JP", name: "hoge"}; var x = _.toArray(list); console.log(x); // [20, "male", "JP", "hoge"] ソースコード _.toA…

【Underscore.js】_.sampleを読んだ

jashkenas/underscoreの_.sampleを読んだ。 概要 _.sample(list, [n]) listからn個のランダムな値を取り出す。nが指定されない時は1つ取り出す。 var list = [1, 4, 15, 200, 3]; var x = _.sample(list); console.log(x); // 4 ソースコード _.sample = fun…

【Underscore.js】_.groupByを読んだ

jashkenas/underscoreの_.groupByを読んだ。 概要 _.groupBy(list, iteratee, [context]) listの各要素をiterateeを使ってグルーピングする。 iterateeが関数でない場合は、そのプロパティの値ごとにグルーピングする。 var list = [ {age: 20, sex: "male",…

【Underscore.js】_.sortByを読んだ

jashkenas/underscoreの_.sortByを読んだ。 概要 _.sortBy(list, iteratee, [context]) listの各要素をiterateeを使って評価した順にソートし、返す。 iterateeはプロパティの名前でも良い。 var list = [ {age: 22, sex: "male", country: "US", name: "fug…

【Underscore.js】_.maxを読んだ

jashkenas/underscoreの_.maxを読んだ。 概要 _.max(list, [iteratee], [context]) listの中の最大値を返す。 iterateeに関数が与えられると、その返り値が比較基準になる。 リストが空だと-Infinityが返るので、isEmptyを使って判定すること。 var list = […

【Underscore.js】_.pluckを読んだ

jashkenas/underscoreの_.pluckを読んだ。 概要 _.pluck(list, propertyName) listの中のpropertyNameで指定したプロパティの値を取得して配列で返す。 mapのよく使われる用途のラッパー。 var list = [ {age: 20, sex: "male", country: "JP", name: "hoge"…

【Underscore.js】_.invokeを読んだ

jashkenas/underscoreの_.invokeを読んだ。 概要 _.invoke(list, methodName, *arguments) 入れ子構造になっている配列の各要素の配列に対して関数を実行する。 _.invoke([[1, 4, 5, 2, 3], [10, 30, 20], [100, 78]], 'shift’); // [1, 10, 100] ソースコー…

【Underscore.js】_.containsを読んだ

jashkenas/underscoreの_.containsを読んだ。 概要 _.contains(list, value, [fromIndex]) listにvalueがあればtrueを返す。 _.contains([1, 2, 3], 3); // true ソースコード _.contains = _.includes = _.include = function(obj, item, fromIndex, guard)…

【Underscore.js】_.someを読んだ

jashkenas/underscoreの_.someを読んだ。 概要 _.some(list, [predicate], [context]) listの値をpredicateに渡し、trueになるものがあればtrueを返す。 var list = [1, 2, 3, 4, 5]; var x = _.every(list, function(n) { return n > 3; }); console.log(x)…

【Underscore.js】_.everyを読んだ

jashkenas/underscoreの_.everyを読んだ。 概要 _.every(list, [predicate], [context]) listの値をpredicateに渡した時に、すべてtrueであればtrueを返す。 var list = [1, 2, 3, 4, 5]; var x = _.every(list, function(n) { return n > 0; }); console.lo…

【Underscore.js】_.rejectを読んだ

jashkenas/underscoreの_.rejectを読んだ。 概要 _.reject(list, predicate, [context]) listの中で、predicateがfalseになる要素の配列を返す。 _.filterの反対のことをする関数。 var list = [1, 2, 3, 4, 5]; var x = _.reject(list, function(n) { retur…

【Underscore.js】_.findWhereを読んだ

jashkenas/underscoreの_.findWhereを読んだ。 概要 _.findWhere(list, properties) propertiesの中にあるkey-valueが含まれるもの中で、listの中の一番最初のものを取得する。 var list = [ {age: 20, sex: "male", country: "JP", name: "hoge"}, {age: 22…

【Underscore.js】_.whereを読んだ

jashkenas/underscoreの_.whereを読んだ。 概要 _.where(list, properties) propertiesで与えられたkey-valueが含まれるすべての要素をlistの中から取得する。 var list = [ {age: 20, sex: "male", country: "JP", name: "hoge"}, {age: 22, sex: "male", c…

【Underscore.js】_.filterを読んだ

jashkenas/underscoreの_.fliterを読んだ。 概要 リストを走査し、渡した関数がtrueとなる要素のリストを返す。 var list = [1, 2, 5, 6, 7]; // var list = {age: 1, score: 30, test: 88}; var x = _.filter(list, function(num){ return num % 2 === 0; }…

【Underscore.js】_.findを読んだ

jashkenas/underscoreの_.findを読んだ。 概要 リストを走査し、渡した関数がtrueとなる最初の要素を返す。 条件を満たす要素がない場合はundefinedを返す。 trueとなる要素が見つかった時点で、リストの走査は終わる。 var list = [1, 2, 5, 6, 7]; var eve…

【Underscore.js】_.reduceを読んだ

概要 リストの要素を一つの値にまとめていく。 引数のmemoは初期値。 iterateeが実行されたあと、その値をメモ化しておき、リストのindex番目の値とともにiterateeに渡し、各値を処理する。 var list = [1, 2, 3]; var sum = _.reduce(list, function(memo, …

【Underscore.js】_.mapを読んだ

jashkenas/underscoreの_.mapを読んだ。 概要 第一引数で与えられたものの値に対して、第二引数の関数を実行してその結果の配列を返す。 var list = [2, 3, 4]; var x = _.map(list, function(n){ return n *= 3; }); console.log(x); // [6, 9, 12] var lis…

【Underscore.js】_.eachを読んだ

jashkenas/underscoreの_.eachを読んだ。 概要 第二引数で指定した関数に第一引数の配列やオブジェクトの各要素を引数として渡して、実行する。 var x = _.each([1,2,3], function(num){ console.log(num); }); // 1 // 2 // 3 ソースコード _.each = _.forE…

【Underscore.js】_.shuffleを読んだ

jashkenas/underscoreの_.shuffleを読んだ。 概要 Returns a shuffled copy of the list, using a version of the Fisher-Yates shuffle. Fisher–Yates shuffleを用いて、シャッフルされたリストのコピーを返す。 x = _.shuffle([1,2,3]); console.log(x); /…

Want to learn JavaScript in 2015?を読んだ時のメモ

JSを勉強しようと思ってWant to learn JavaScript in 2015?を見つけた。 後で見直すようにメモを取った。 概要 ゴールは1年でJSの仕事を得ること 筆者はBSkyBでJSの開発者としての仕事を得た 一番難しかったのは自分のJSレベルが中級になった時だった 初級と…

【JavaScript】エラトステネスの篩を書いてみた

定本Javaプログラマのためのアルゴリズムとデータ構造作者: 近藤嘉雪出版社/メーカー: ソフトバンククリエイティブ発売日: 2011/01/29メディア: 単行本購入: 1人 クリック: 15回この商品を含むブログ (5件) を見る を読んでいたところ「エラトステネスの篩」…