そもそもLINQって?

Language-Integrated Queryの略。

ASP.NETで配列をクエリで簡単に操作することが出来ます。

linq.jsとは?

LINQをJavaScriptで使えるようにしたライブラリ。

http://neue.cc/reference.htm

linq.js機能紹介

よく使う機能を紹介していきます。

まず適当な配列を用意します。

var list = [
    { "id": 0, "name": "hoge1", "order": 3},
    { "id": 1, "name": "fuga1", "order": 5},
    { "id": 2, "name": "hoge2", "order": 1},
    { "id": 3, "name": "piyo1", "order": 4},
    { "id": 4, "name": "fuga2", "order": 2}
];

Any, Contains

配列に指定した条件のものが含まれるかを調べるのに使います。

// true
Enumerable.From(list).Any(x => x.name == "hoge1");

// false
Enumerable.From(list).Any(x => x.name == "hogee");

// true
Enumerable.From(list).Select(x => x.name).Contains("hoge1");

// false
Enumerable.From(list).Select(x => x.name).Contains("hogee");

OrderBy, OrderByDescending

配列を昇順、降順にソートできます。

// 昇順
Enumerable.From(list).OrderBy(x => x.order);

// 降順
Enumerable.From(list).OrderByDescending(x => x.order);

Select, Where

要素の抽出、フィルタに用います。

Enumerable.From(list).Select(x => x.id ).ToArray();

Enumerable.From(list).Where(x => 1 <= x.id && x.id <= 3).ToArray();

動作確認にどうぞー

See the Pen linqSample by maiki takeda (@mtakeda) on CodePen.

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.