What is the leading LINQ for JavaScript library?

I'm looking for a JavaScript library that will allow me to query complex JSON objects using a LINQ-like syntax. A quick search found a couple of promising options that look they might offer what I need:

LINQ to JavaScript and jLinq

  • Does any one have any experience using them?
  • What are some pros and cons?
  • Is the performance comparable?
  • Does the function-passing syntax of LINQ to JavaScript offer any hidden benefits (I personally find the syntax of jLinq more appealing on first glance)?
  • What have you found lacking in either project?
  • Did you ever try contacting the authors? How responsive were they?
  • What project is more widely used?
  • EDIT:

    Just saw this today: jslinq.

    I think it will be the first one to get a thorough try-out.


    Have you seen Rx for Javascript, yet? That's what you want.


    You might want to check out linq.js . It follows the .NET lambda syntax and looks to be well integrated in a Microsoft environment.

    LINQ for JavaScript - http://linqjs.codeplex.com/

    Pros

  • Implements all .NET 4.0 methods
  • Complete lazy evaluation
  • Full IntelliSense support for VisualStudio
  • Supports jQuery
  • Supports Windows Script Host
  • Binding for Reactive Extensions for JavaScript(RxJS) and IntelliSense Generator
  • NuGet install support
  • Updated recently (last release Jan 2011)
  • Syntax conforms to lambda syntax in C#
  • Cons

  • The linq.js library is a little large.
  • If you are already using jQuery or other js library, the most commonly used functionality is probably already available. See especially jQuery's filter, and 'Any' methods.

  • The most basic and frequently used Linq operators are very commonly defined in widely used JS libraries. They just have different names (in fact, they have more traditional names than in Linq). Select becomes map , Where becomes filter , First and FirstOrDefault become [0] .

    Almost no library I know of (including I think the ones you linked to) bother to make the implementation lazy as in .NET Linq, they just evaluate immediately using arrays.

    For a very nice, complete set of functional list operations, try: http://osteele.com/sources/javascript/functional/

    链接地址: http://www.djcxy.com/p/51336.html

    上一篇: 学习LINQ和实体框架查询的资源?

    下一篇: 什么是领先的LINQ for JavaScript库?