このサイトは、只今WEB業界で活躍中のデザイナー、プログラマーの方々の情報を集めたweb統合情報サイトです。

Archives Details

【JS】【保存版】underscore.js の使用方法 まとめ Object Functions

JavaScript

2013.11.24

この記事は最終更新日から1年以上が経過しています。

underscore.js

引き続き、underscore.js の Object Functionsのまとめとなります。

keys

_.keys(object)

オブジェクトのプロパティのすべての名前を取得します。

_.keys({one: 1, two: 2, three: 3});
=> ["one", "two", "three"]
values

_.values(object)

オブジェクトのプロパティのすべての値を返します。

_.values({one: 1, two: 2, three: 3});
=> [1, 2, 3]
pairs

_.pairs(object)

オブジェクトを[key、value] ペアのリストに変換します。

_.pairs({one: 1, two: 2, three: 3});
=> [["one", 1], ["two", 2], ["three", 3]]
invert

_.invert(object)

キーが値になったオブジェクトのコピーとキーの値を返します。

これを行うには、オブジェクトの値はすべて一意で、文字列をシリアル化できる必要があります。

_.invert({Moe: "Moses", Larry: "Louis", Curly: "Jerome"});
=> {Moses: "Moe", Louis: "Larry", Jerome: "Curly"};
functions

_.functions(object)

 

Alias: methods

オブジェクト内のすべてのメソッドの名前のソートされたリスト、つまりオブジェクトのすべての関数プロパティの名前を返します。

_.functions(_);
=> ["all", "any", "bind", "bindAll", "clone", "compact", "compose" ...
extend

_.extend(destination, *sources)

ソースオブジェクト内のすべてのプロパティを宛先オブジェクトにコピーし、宛先オブジェクトを返します。

それは順序通りであり、最後のソースは前の引数の同じ名前のプロパティを上書きします。

_.extend({name: 'moe'}, {age: 50});
=> {name: 'moe', age: 50}
pick

_.pick(object, *keys)

ホワイトリストに登録されたキー(または有効なキーの配列)の値のみを持つようにフィルタリングされた、オブジェクトのコピーを返します。

_.pick({name: 'moe', age: 50, userid: 'moe1'}, 'name', 'age');
=> {name: 'moe', age: 50}
omit

_.omit(object, *keys)

ブラックリストのキー(またはキーの配列)を省略するようにフィルタリングされたオブジェクトのコピーを返します。

_.omit({name: 'moe', age: 50, userid: 'moe1'}, 'userid');
=> {name: 'moe', age: 50}
defaults

_.defaults(object, *defaults)

defaultsオブジェクトの値でオブジェクトの未定義プロパティを埋め込み、オブジェクトを返します。

プロパティが満たされるとすぐに、それ以上のデフォルトは効果を持ちません。

var iceCream = {flavor: "chocolate"};
_.defaults(iceCream, {flavor: "vanilla", sprinkles: "lots"});
=> {flavor: "chocolate", sprinkles: "lots"}
clone

_.clone(object)

オブジェクトの浅いコピークローンを作成します。
ネストされたオブジェクトまたは配列は、複製されずに参照によってコピーされます。

_.clone({name: 'moe'});
=> {name: 'moe'};
tap

_.tap(object, interceptor)

オブジェクトでインターセプタを呼び出し、オブジェクトを返します。

このメソッドの主な目的は、チェーン内の中間結果に対して操作を実行するために、メソッドチェーンを「タップイン」することです。

_.chain([1,2,3,200])
  .filter(function(num) { return num % 2 == 0; })
  .tap(alert)
  .map(function(num) { return num * num })
  .value();
=> // [2, 200] (alerted)
=> [4, 40000]
has

_.has(object, key)

オブジェクトには指定されたキーが含まれているか否かを判定。
object.hasOwnProperty(key)と同じですが、誤ってオーバーライドされている場合に備えて、hasOwnProperty関数への安全な参照を使用します。

_.has({a: 1, b: 2, c: 3}, "b");
=> true
isEqual

_.isEqual(object, other)

2つのオブジェクトを最適化して詳細に比較し、等しいかどうかを判断します。

var moe   = {name: 'moe', luckyNumbers: [13, 27, 34]};
var clone = {name: 'moe', luckyNumbers: [13, 27, 34]};
moe == clone;
=> false
_.isEqual(moe, clone);
=> true
isEmpty

_.isEmpty(object)

オブジェクトに値が含まれていない場合はtrueを返します(列挙可能な独自のプロパティはありません)。

_.isEmpty([1, 2, 3]);
=> false
_.isEmpty({});
=> true
isElement

_.isElement(object)

オブジェクトが、DOM要素の場合はtrueを返します。

_.isElement(jQuery('body')[0]);
=> true
isArray

_.isArray(object)

オブジェクトがArrayの場合はtrueを返します。

(function(){ return _.isArray(arguments); })();
=> false
_.isArray([1,2,3]);
=> true
isObject

_.isObject(value)

値がObjectの場合はtrueを返します。

JavaScript配列と関数はオブジェクトであり、(通常の)文字列と数値はオブジェクトではありません。

_.isObject({});
=> true
_.isObject(1);
=> false
isArguments

_.isArguments(object)

objectがArgumentsオブジェクトの場合はtrueを返します。

(function(){ return _.isArguments(arguments); })(1, 2, 3);
=> true
_.isArguments([1,2,3]);
=> false
isFunction

_.isFunction(object)

objectがFunctionの場合はtrueを返します。

_.isFunction(alert);
=> true
isString

_.isString(object)

objectがStringの場合はtrueを返します。

_.isString("moe");
=> true
isNumber

_.isNumber(object)

objectがNumberの場合はtrueを返します。

_.isNumber(8.4 * 5);
=> true
isFinite

_.isFinite(object)

objectが有限数の場合はtrueを返します。

_.isFinite(-101);
=> true

_.isFinite(-Infinity);
=> false
isBoolean

_.isBoolean(object)

objectがtrueまたはfalseの場合はtrueを返します。

_.isBoolean(null);
=> false
isDate

_.isDate(object)

objectがDateの場合はtrueを返します。

_.isDate(new Date());
=> true
isRegExp

_.isRegExp(object)

objectがRegExpの場合はtrueを返します。

_.isRegExp(/moe/);
=> true
isNaN

_.isNaN(object)

objectがNaNの場合はtrueを返します。
注:これは、ネイティブのisNaN関数と同じではありません。これは、undefinedなどの他の多くの数値ではない値に対してもtrueを返します。

_.isNaN(NaN);
=> true
isNaN(undefined);
=> true
_.isNaN(undefined);
=> false
isNull

_.isNull(object)

オブジェクトの値がnullの場合は、trueを返します。

_.isNull(null);
=> true
_.isNull(undefined);
=> false
isUndefined

_.isUndefined(value)

値が未定義の場合は、trueを返します。

_.isUndefined(window.missingVariable);
=> true

Comment

Related Article

JavaScriptで、DOMを放り投げる処理

2024.07.27

2022 VIVA JS World Cup 開幕!! 〜 Vue3で作るサッカーゲーム 〜

2022.12.24

OAuthのフローを可視化できるツールを作ってみました。

2020.05.17

令和の時代に、JavaScriptで Shift-JISファイル作成 全銀データフォーマットに対応する。

2020.03.03

インターネットにて世論調査を行う「世論Web」サービスを始めてみました。

2020.01.31

年末のレトロゲーム熱の際、ファミコンソフト一覧パッケージ作ってました。

2020.01.24

あと10日で「jsdo.it」のサービスが終わってしまう!! ソースダウンロードまだの方は急げぇ〜!

2019.10.21

正規表現 先読み後読み 論理積

2019.07.28

「二段階認証?」という方も 5分で覚える パスワードレス WebAuthnのまとめ

2019.07.07

上級者向け JavaScript 問題集 「javascript-questions」日本語翻訳担当してます。

2019.06.22

CATEGORY LIST

LATEST NEWS

Mac VSCodeで、SFML C++開発環境を作る。

C++

2024.09.09

Rust-SDL2 examplesをすべて試す

Rust

2024.09.01

JavaScriptで、DOMを放り投げる処理

JavaScript

2024.07.27

Rustで創る MOS 6502 CPU その2

Rust

2024.07.23

Rustで創る MOS 6502 CPU その1

Rust

2024.07.19

汎用 3D mesh/model viewerを求め。と、簡単に、FBXファイルをglTF(glb)に変換ツールを求め。

C++

2024.06.06

M1 Macで、OpenGL GLUTを使ってコンパイルする

C

2024.04.27

Rust - Actix Web mongo ユーザー登録 JWT認証

Rust

2024.03.24

Rust - Actix Web JWT 認証認可 APIの作成

Rust

2024.02.25

Rust - Actix Web × JSON 静的ファイルをAPIで返却

Rust

2024.01.19

Rust - Actix Web × MongoDB環境をサクッと起動

Rust

2024.01.18

5分で学ぶ RustでWave Function Collapse (波動関数崩壊アルゴリズム)

Rust

2024.01.15

RANKING

Follow

SPONSOR

現在、掲載募集中です。



Links

About Us

WEBデザイナーの、WEBデザイナーによる、WEBデザイナーの為のサイト。「みんなで書こう!」と仲間を募ってみたが、結局書くのは自分だけとなってしまいました。日々のメモを綴っていきます。

Entry Profile

Graphical FrontEnd Engineer
- Daisuke Takayama

MAD CITY 北九州市で生まれ育つ。20代はバンド活動に明け暮れ、ふと「webデザイナーになりたい。」と思い、デジタルハリウッド福岡校入学。卒業後、数々の賞を受賞、web業界をざわつかせる。
現在、主に、ゲーム制作中心に港区六本木界隈で活動中。

FOLLOW US