Project DescriptionLINQ to JavaScript (JSLINQ) is an implementation of LINQ to Objects for JavaScript. It is simple to use and gives much needed power and flexibility to performing LINQ style queries agains traditional JavaScript Arrays. If you are using an Array, you can use LINQ to JavaScript to step up your game.
What is LINQ to JavaScript?
LINQ to JavaScript (JSLINQ for short) is an implementation of LINQ to Objects implemented in JavaScript. It is built using a set of extension methods built on top of the JavaScript Array object. If you are using an Array, you can use JSLINQ.
If you don't know what LINQ is; it's a new featureset in the .NET Framework 3.5 that allows more SQL-like querying of any kind of data. In the case of LINQ to JavaScript, it provides the ability to query against Arrays.
var myList = [
{FirstName:"Chris",LastName:"Pearson"},
{FirstName:"Kate",LastName:"Johnson"},
{FirstName:"Josh",LastName:"Sutherland"},
{FirstName:"John",LastName:"Ronald"},
{FirstName:"Steve",LastName:"Pinkerton"}
];
var exampleArray = JSLINQ(myList)
.Where(function(item){ return item.FirstName == "Chris"; })
.OrderBy(function(item) { return item.FirstName; })
.Select(function(item){ return item.FirstName; });
Using LINQ to JavaScript
We will use this Array for the following examples:
var myList = [
{FirstName:"Chris",LastName:"Pearson"},
{FirstName:"Kate",LastName:"Johnson"},
{FirstName:"Josh",LastName:"Sutherland"},
{FirstName:"John",LastName:"Ronald"},
{FirstName:"Steve",LastName:"Pinkerton"}
];
Create an Instance of the JSLINQ object with your data
You need to create a new JSLINQ object and pass it the javascript array of data that you will be querying.
var example = JSLINQ(myList);
Using the Where operator to specify query criteria
In this case, we're getting all items in the Array that have FirstName property set to Chris.
var whereExample1 = JSLINQ(myList).
Where(function(item){ return item.FirstName == "Chris"; });
Using the Select operator to specify which data to return
In this case, we're going to return only the FirstName property of each item in the Array.
var selectTest2 = JSLINQ(myList).
Select(function(item){ return item.FirstName; });
Using the OrderBy operator to determine how to sort the order of the items in the Array
In this case, we're going to order them by the FirstName property.
var sortTest1 = JSLINQ(myList)
.OrderBy(function(item){ return item.FirstName; });
Acticles / News
JSLinq Editor2010/03/16:
LINQ for JavaScript: Using and Extending JSLINQ2008/01/24:
LINQ to JavaScript (JSLINQ) Open Source Project Launched!
Contributors
This project is maintained by
Chris Pietschmann. He is a Microsoft MVP for Bing Maps, a Co-Founder of
Carto LLC, and the Owner of
Simplovation LLC a software development consulting company that specializes in Mapping/GIS related application development.