ゆるふわエンジニアのブログ

やったこと、調べたこと等をつらつらと書いていくかもしれません。

FrontendのJavaScriptでlinq

FrontendのJavaScriptlinqを使用できるので、linqそのものやJavaScriptlinq
使用するまでに行ったことを紹介していきます。

本記事の内容です。

そもそも、linqとは?

Microsoftが開発した、統合言語クエリです。
様々なタイプのデータソース(配列等)に対する検索や抽出等の
操作を行うことができます。
詳細な説明は、下記のページがわかりやすいので、丸投げします。
LINQ - C# によるプログラミング入門 | ++C++; // 未確認飛行 C

JavaScriptlinqとは?

上記のMicrosoftが開発したLINQを、JavaScript向けに移植したものです。
元々は日本人のMicrosoft MVPである、
neue cc(Yoshifumi Kawai)氏が移植したものであり、
現在は、他の方がメンテナンスをされているようです。
GitHub - mihaifm/linq: linq.js - LINQ for JavaScript

ライセンス

下記の通り、MITライセンスです。
linq/LICENSE at master · mihaifm/linq · GitHub

インストール方法

npm init

を実行し、package.jsonを作成した後、

npm install linq

を実行し、linqをインストールします。

使い方(サンプルコード)

HTML

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script src="node_modules/linq/linq.min.js"></script> <!-- この1行を追加 -->
        <script src="js/index.js"></script>
    </head>
    <body>
    </body>
    </html>

JavaScriptのサンプルコードについては、下記を参照してください。
linq/tutorial.js at master · mihaifm/linq · GitHub

.NETのLINQで使用できるメソッドは大体使用できそうです。
(手間だが、linq.jsファイルの中を検索し、対象のメソッドが存在するかを
確認しながら使用するのがいいかも?)

使用してみての疑問点

使用してみての疑問点を備忘録がてら記載しておきます。
どなたかご存知の方がいらっしゃいましたら、教えてください。

  • npm install linqをするだけではなく、htmlファイルでjsファイルの読み込みを指定しなければいけないのか?(npm install linqを行うだけで良いようにできないのか?)
  • selectやwhere等を呼び出した後、toArrayを呼び出さないと結果を配列で受け取れないみたいだが、toArrayを呼び出さなくても結果を配列で受け取る方法は無いか?