<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>JSLINQ Forum Rss Feed</title><link>http://www.codeplex.com/JSLINQ/Thread/List.aspx</link><description>JSLINQ Forum Rss Description</description><item><title>New Post: WildCards</title><link>http://jslinq.codeplex.com/discussions/397670</link><description>&lt;div style="line-height: normal;"&gt;This is out of the scope of jslinq. What you are looking for is a &amp;quot;startsWith&amp;quot; method for JavaScript strings. A simple Google search will yield many results.&lt;br /&gt;
&lt;/div&gt;</description><author>crpietschmann</author><pubDate>Fri, 22 Mar 2013 22:16:50 GMT</pubDate><guid isPermaLink="false">New Post: WildCards 20130322101650P</guid></item><item><title>New Post: WildCards</title><link>http://jslinq.codeplex.com/discussions/397670</link><description>&lt;div style="line-height: normal;"&gt;
&lt;p&gt;Is there any wildcard available in the product? How are we able to run a query like&lt;/p&gt;
&lt;p&gt;Select Employees.Name from Employees where Employees.Name like 'S%' (returns all employees which their name starts with S)&lt;/p&gt;
&lt;/div&gt;</description><author>samanis</author><pubDate>Tue, 02 Oct 2012 10:15:36 GMT</pubDate><guid isPermaLink="false">New Post: WildCards 20121002101536A</guid></item><item><title>New Post: When it is necessary to add .ToArray() at end of a query? also intermittently get problems with variables being "undefined"....</title><link>http://jslinq.codeplex.com/discussions/346476</link><description>&lt;div style="line-height: normal;"&gt;
&lt;p&gt;Hi, and thanks for very much for creating JSLINQ, it is a great idea and from what I have seen so far appears to be very good.&lt;/p&gt;
&lt;p&gt;However, and this may be due more to my lack of familiarty with javasript rather than JSLINQ per se but I would be grateful for any advice/comments on the following:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;(1) It's not clear to me from the documentation when .ToArray() needs to be added to the end of a JSLINQ query, e.g.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;var arrayforselectedIndex = JSLINQ(viewModel.fullChartData())&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .Where(function(item) { return item.Name == viewModel.selectedIndex(); })&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .OrderBy(function(item) { return item.MonthEndDate; }).ToArray();&lt;/p&gt;
&lt;p&gt;At first I omitted the .ToArray() at the end, but then I seemed to get intermittent (i.e. not always) errors when trying to access a property of one of the results of the query, e.g.&lt;/p&gt;
&lt;p&gt;arrayforselectedIndex [0].MyProperty (where I know that all results from the query are members of the same class which has a MyProperty property.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;(2) Similarly, I sometimes get &amp;quot;variable is undefined&amp;quot; errors &amp;nbsp;when trying to access the results of a JSLINQ query. &amp;nbsp;Any suggestions?&lt;/p&gt;
&lt;p&gt;Thank you&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;got&lt;/p&gt;
&lt;/div&gt;</description><author>PatrickCodePlex</author><pubDate>Mon, 27 Feb 2012 22:18:31 GMT</pubDate><guid isPermaLink="false">New Post: When it is necessary to add .ToArray() at end of a query? also intermittently get problems with variables being "undefined".... 20120227101831P</guid></item><item><title>New Post: Random() function request</title><link>http://jslinq.codeplex.com/Thread/View.aspx?ThreadId=76545</link><description>&lt;div style="line-height: normal;"&gt;
&lt;p&gt;Thanks for the suggestion. A &amp;quot;.Random&amp;quot; method has been implemented in the code, and will be in the next update release.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://jslinq.codeplex.com/workitem/7419"&gt;http://jslinq.codeplex.com/workitem/7419&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;</description><author>crpietschmann</author><pubDate>Mon, 25 Oct 2010 14:08:40 GMT</pubDate><guid isPermaLink="false">New Post: Random() function request 20101025020840P</guid></item><item><title>New Post: Intellisense issue</title><link>http://jslinq.codeplex.com/Thread/View.aspx?ThreadId=76546</link><description>&lt;div style="line-height: normal;"&gt;
&lt;p&gt;Thanks for pointing this out. This has been added to the source code and will be included in the next update release.&lt;/p&gt;
&lt;p&gt;Sorry it took almost a year for me to get this in there.&lt;/p&gt;
&lt;/div&gt;</description><author>crpietschmann</author><pubDate>Mon, 25 Oct 2010 13:40:51 GMT</pubDate><guid isPermaLink="false">New Post: Intellisense issue 20101025014051P</guid></item><item><title>New Post: search nested array</title><link>http://jslinq.codeplex.com/Thread/View.aspx?ThreadId=217589</link><description>&lt;div style="line-height: normal;"&gt;
&lt;p&gt;You just need to write a nested query. Below is the example that I just added to the SDK Samples.&lt;/p&gt;
&lt;p&gt;var sample = JSLINQ(Samples.People).&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Where(function (item, index) {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return JSLINQ(item.BookIDs)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .Where(function (item) { return item == 1002 })&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .Count() &amp;gt; 0;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Sorry for the long delayed reply.&lt;/p&gt;
&lt;/div&gt;</description><author>crpietschmann</author><pubDate>Mon, 25 Oct 2010 12:10:45 GMT</pubDate><guid isPermaLink="false">New Post: search nested array 20101025121045P</guid></item><item><title>New Post: JSLINQ Object Vs Array.Prototype</title><link>http://jslinq.codeplex.com/Thread/View.aspx?ThreadId=83387</link><description>&lt;div style="line-height: normal;"&gt;
&lt;p&gt;JSLINQ resides in its own object so that it does not conflict with any other javascript frameworks you might be using. This is the same reason that jQuery resides completely within its own &amp;quot;jQuery&amp;quot; object instead of extending the core javascript objects
 with certain functionality.&lt;/p&gt;
&lt;/div&gt;</description><author>crpietschmann</author><pubDate>Mon, 25 Oct 2010 11:48:07 GMT</pubDate><guid isPermaLink="false">New Post: JSLINQ Object Vs Array.Prototype 20101025114807A</guid></item><item><title>New Post: search nested array</title><link>http://jslinq.codeplex.com/Thread/View.aspx?ThreadId=217589</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Hi just checking out jslinq for the first time - &lt;br&gt;&lt;br&gt;Wondering how a search would be done to return results based on bookIDs given the sample data below i.e. select all entries that have a bookID of 1002&lt;/p&gt;
&lt;p&gt;Samples.People = [&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { ID: 1, FirstName: &amp;quot;Chris&amp;quot;, LastName: &amp;quot;Pearson&amp;quot;, BookIDs: [1001, 1002, 1003] },&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { ID: 2, FirstName: &amp;quot;John&amp;quot;, LastName: &amp;quot;Ronald&amp;quot;, BookIDs: [4001, 4002, 4003] },&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { ID: 3, FirstName: &amp;quot;Steve&amp;quot;, LastName: &amp;quot;Pinkerton&amp;quot;, BookIDs: [1001, 1002, 1003] },&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { ID: 4, FirstName: &amp;quot;Bernard&amp;quot;, LastName: &amp;quot;Sutherland&amp;quot;, BookIDs: [1001, 2002, 3003] },&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { ID: 5, FirstName: &amp;quot;Kate&amp;quot;, LastName: &amp;quot;Pinkerton&amp;quot;, BookIDs: [4001, 3002, 2003] }&lt;br&gt;];&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;/div&gt;</description><author>soloper</author><pubDate>Mon, 28 Jun 2010 16:09:49 GMT</pubDate><guid isPermaLink="false">New Post: search nested array 20100628040949P</guid></item><item><title>New Post: JSLint Cleanup</title><link>http://jslinq.codeplex.com/Thread/View.aspx?ThreadId=209229</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;I see you've made some of&amp;nbsp; these changes already in the recent builds. The main link is still pointing to older code.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;</description><author>blueonion</author><pubDate>Tue, 13 Apr 2010 20:47:09 GMT</pubDate><guid isPermaLink="false">New Post: JSLint Cleanup 20100413084709P</guid></item><item><title>New Post: JSLint Cleanup</title><link>http://jslinq.codeplex.com/Thread/View.aspx?ThreadId=209229</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Ran the code through JSLint. Also fixed some minor issues with the use of&amp;nbsp; &amp;quot;new&amp;quot;.&lt;/p&gt;
&lt;p&gt;//-----------------------------------------------------------------------&lt;br&gt;// Part of the LINQ to JavaScript (JSLINQ) v2.10 Project - http://jslinq.codeplex.com&lt;br&gt;// Copyright (C) 2009 Chris Pietschmann (http://pietschsoft.com). All rights reserved.&lt;br&gt;// This project is licensed under the Microsoft Reciprocal License (Ms-RL)&lt;br&gt;// This license can be found here: http://jslinq.codeplex.com/license&lt;br&gt;//-----------------------------------------------------------------------&lt;br&gt;(function() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; JSLINQ = window.JSLINQ = function(dataItems) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return new JSLINQ.fn.init(dataItems);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; JSLINQ.fn = JSLINQ.prototype = {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; init: function(dataItems) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.items = dataItems;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // The current version of JSLINQ being used&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; jslinq: &amp;quot;2.10&amp;quot;,&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ToArray: function() { return this.items; },&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Where: function(clause) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var newArray = [];&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // The clause was passed in as a Method that return a Boolean&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (var index = 0; index &amp;lt; this.items.length; index++) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (clause(this.items[index], index)) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; newArray[newArray.length] = this.items[index];&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return JSLINQ(newArray);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Select: function(clause) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var newArray = [];&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // The clause was passed in as a Method that returns a Value&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (var i = 0; i &amp;lt; this.items.length; i++) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var result = clause(this.items[i]);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (result) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; newArray[newArray.length] = result;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return JSLINQ(newArray);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OrderBy: function(clause) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var tempArray = [];&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (var i = 0; i &amp;lt; this.items.length; i++) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tempArray[tempArray.length] = this.items[i];&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return JSLINQ(tempArray.sort(function(a, b) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var x = clause(a);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var y = clause(b);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return ((x &amp;lt; y) ? -1 : ((x &amp;gt; y) ? 1 : 0));&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; })&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; );&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OrderByDescending: function(clause) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var tempArray = [];&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (var i = 0; i &amp;lt; this.items.length; i++) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tempArray[tempArray.length] = this.items[i];&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return JSLINQ(tempArray.sort(function(a, b) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var x = clause(b);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var y = clause(a);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return ((x &amp;lt; y) ? -1 : ((x &amp;gt; y) ? 1 : 0));&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; })&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; );&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SelectMany: function(clause) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var r = [];&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (var i = 0; i &amp;lt; this.items.length; i++) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r = r.concat(clause(this.items[i]));&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return JSLINQ(r);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Count: function(clause) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return (clause === null || clause === undefined) ? this.items.length : this.Where(clause).items.length;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Distinct: function(clause) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var item;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var dict = {};&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var retVal = [];&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (var i = 0; i &amp;lt; this.items.length; i++) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; item = clause(this.items[i]);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // TODO - This doens't correctly compare Objects. Need to fix this&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (dict[item] === null || dict[item] === undefined) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dict[item] = true;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retVal[retVal.length] = item;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dict = null;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return JSLINQ(retVal);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Any: function(clause) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (var index = 0; index &amp;lt; this.items.length; index++) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (clause(this.items[index], index)) { return true; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return false;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; All: function(clause) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (var index = 0; index &amp;lt; this.items.length; index++) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!clause(this.items[index], index)) { return false; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return true;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Reverse: function() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var retVal = [];&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (var index = this.items.length - 1; index &amp;gt; -1; index--) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retVal[retVal.length] = this.items[index];&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return JSLINQ(retVal);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; First: function(clause) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (clause !== null &amp;amp;&amp;amp; clause !== undefined) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return this.Where(clause).First();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // If no clause was specified, then return the First element in the Array&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return (this.items.length &amp;gt; 0) ? this.items[0] : null;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Last: function(clause) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (clause !== null &amp;amp;&amp;amp; clause !== undefined) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return this.Where(clause).Last();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // If no clause was specified, then return the First element in the Array&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return (this.items.length &amp;gt; 0) ? this.items[this.items.length - 1] : null;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ElementAt: function(index) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return this.items[index];&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Concat: function(array) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var arr = array.items || array;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return JSLINQ(this.items.concat(arr));&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Intersect: function(secondArray, clause) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var clauseMethod = (clause !== undefined) ? clause&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : function(item, index, item2, index2) { return item === item2; };&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var sa = secondArray.items || secondArray;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var result = [];&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (var a = 0; a &amp;lt; this.items.length; a++) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (var b = 0; b &amp;lt; sa.length; b++) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (clauseMethod(this.items[a], a, sa[b], b)) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result[result.length] = this.items[a];&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return JSLINQ(result);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DefaultIfEmpty: function(defaultValue) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return (this.items.length === 0) ? defaultValue : this;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ElementAtOrDefault: function(index, defaultValue) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return (index &amp;gt;= 0 &amp;amp;&amp;amp; index &amp;lt; this.items.length) ? this.items[index] : defaultValue;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FirstOrDefault: function(defaultValue) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return this.First() || defaultValue;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LastOrDefault: function(defaultValue) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return this.Last() || defaultValue;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; JSLINQ.fn.init.prototype = JSLINQ.fn;&lt;br&gt;})();&lt;/p&gt;&lt;/div&gt;</description><author>blueonion</author><pubDate>Tue, 13 Apr 2010 20:40:40 GMT</pubDate><guid isPermaLink="false">New Post: JSLint Cleanup 20100413084040P</guid></item><item><title>New Post: JSLINQ Object Vs Array.Prototype</title><link>http://jslinq.codeplex.com/Thread/View.aspx?ThreadId=83387</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Before I ask my question I just want to say; really nice job with this project. It's simple,&amp;nbsp;elegant, and makes a lot of JavaScript developers lives a lot easier!&lt;/p&gt;
&lt;p&gt;Now onto the question.&lt;br&gt;I'm curious to know why you decided to use a new object, &amp;quot;JSLINQ&amp;quot;, rather then 'extend' on the existing Array object using the prototype approach? This question isn't an insult on your approach because it works, I was just wondering if you had considered the .prototype approach, and then for some reason changed your mind?&lt;/p&gt;
&lt;p&gt;keep up the good works.&lt;/p&gt;&lt;/div&gt;</description><author>Drahcir</author><pubDate>Sun, 07 Feb 2010 01:14:09 GMT</pubDate><guid isPermaLink="false">New Post: JSLINQ Object Vs Array.Prototype 20100207011409A</guid></item><item><title>New Post: Intellisense issue</title><link>http://jslinq.codeplex.com/Thread/View.aspx?ThreadId=76546</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;I have to add this line&lt;/p&gt;
&lt;p&gt;/// &amp;lt;returns type=&amp;quot;JSLINQ&amp;quot; /&amp;gt;&lt;/p&gt;
&lt;p&gt;at the end of constructor function in JSLINQ-vsdoc.js to work in my version of VS 2008.&lt;/p&gt;&lt;/div&gt;</description><author>homam</author><pubDate>Mon, 30 Nov 2009 07:02:12 GMT</pubDate><guid isPermaLink="false">New Post: Intellisense issue 20091130070212A</guid></item><item><title>New Post: Random() function request</title><link>http://jslinq.codeplex.com/Thread/View.aspx?ThreadId=76545</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;I always add this function to JSLINQ:&lt;/p&gt;
&lt;p&gt;Random: function() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var len = this.items.length;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var index = parseInt((Math.random() * len));&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return this.items[index];&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I think it might be useful in many scenarios and it can be added to the official version of JSLINQ.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Thanks!&lt;/p&gt;&lt;/div&gt;</description><author>homam</author><pubDate>Mon, 30 Nov 2009 06:34:39 GMT</pubDate><guid isPermaLink="false">New Post: Random() function request 20091130063439A</guid></item><item><title>New Post: Select calls clause function twice</title><link>http://jslinq.codeplex.com/Thread/View.aspx?ThreadId=55854</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Thanks. This has been fixed.&lt;/p&gt;&lt;/div&gt;</description><author>crpietschmann</author><pubDate>Tue, 16 Jun 2009 23:06:34 GMT</pubDate><guid isPermaLink="false">New Post: Select calls clause function twice 20090616110634P</guid></item><item><title>New Post: A Better Query Tool Than jQuery?</title><link>http://jslinq.codeplex.com/Thread/View.aspx?ThreadId=20980</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;I just added (in v2.10) a plugin model to JSLINQ that is similar to JQuery via adding methods to &amp;quot;JSLINQ.fn&amp;quot;. If you are interested in adding your own plugins to JSLINQ, there is a simple example located within the release download.&lt;/p&gt;&lt;/div&gt;</description><author>crpietschmann</author><pubDate>Tue, 16 Jun 2009 22:59:02 GMT</pubDate><guid isPermaLink="false">New Post: A Better Query Tool Than jQuery? 20090616105902P</guid></item><item><title>New Post: Select calls clause function twice</title><link>http://jslinq.codeplex.com/Thread/View.aspx?ThreadId=55854</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Out of curiosity, in the Select method, why not call the clause function once, then if the result evaluates to true, add it to the array? This would roughly double performance of select.&lt;/p&gt;
&lt;p&gt;So, from:&lt;/p&gt;
&lt;p&gt;for (var i = 0; i &amp;lt; this.items.length; i++) {&lt;br&gt;&amp;nbsp; if (clause(this.items[i])) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; newArray[newArray.length] = clause(this.items[i]);&lt;br&gt;&amp;nbsp; }&lt;br&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;To this:&lt;/p&gt;
&lt;p&gt;for (var i = 0; i &amp;lt; this.items.length; i++) {&lt;/p&gt;
&lt;p&gt;&amp;nbsp; var result = clause(this.items[i]);&lt;br&gt; &amp;nbsp; if (result)&lt;br&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; newArray[newArray.length] = result;&lt;br&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;-- Curtis&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;</description><author>cshipley</author><pubDate>Sun, 10 May 2009 16:10:00 GMT</pubDate><guid isPermaLink="false">New Post: Select calls clause function twice 20090510041000P</guid></item><item><title>New Post: JSLINQ better approach</title><link>http://jslinq.codeplex.com/Thread/View.aspx?ThreadId=41842</link><description>&lt;div style="line-height: normal;"&gt;I would be interested in seeing the code you wrote if you're willing to share it. Please post it somewhere and post a link here. Thanks.&lt;br&gt;
&lt;/div&gt;</description><author>crpietschmann</author><pubDate>Mon, 30 Mar 2009 22:03:38 GMT</pubDate><guid isPermaLink="false">New Post: JSLINQ better approach 20090330100338P</guid></item><item><title>New Post: JSLINQ better approach</title><link>http://www.codeplex.com/JSLINQ/Thread/View.aspx?ThreadId=41842</link><description>&lt;div style="line-height: normal;"&gt;Hello. I think I have a much better approach about how to implement a LINQ-like library in javascript. First of all, remember that you must define functions to give the option for joining multiple arrays. (inner join, left join, right join). I just started coding my library, and after I wrote more then 80K of code i found your library on codeplex. But I AM SURE that my library is far more better than yours. I use lambda expressions, FULL LINQ-like syntax, I have &amp;quot;groupping&amp;quot;, &amp;quot;having&amp;quot;, &amp;quot;Inner/Left/Right JOIN&amp;quot;, etc :) If anybody is interested about my library you can write to me at aurelian.lica (at) gmail.com
&lt;/div&gt;</description><author>galsoftware</author><pubDate>Tue, 09 Dec 2008 08:51:42 GMT</pubDate><guid isPermaLink="false">New Post: JSLINQ better approach 20081209085142A</guid></item><item><title>New Post: JSLINQ and LIKE Operation?</title><link>http://www.codeplex.com/JSLINQ/Thread/View.aspx?ThreadId=30253</link><description>&lt;div style="line-height: normal;"&gt;JSLINQ doesn't include a LIKE operator since that is really something that needs to be done within the Where method anyway. In order to perform a LIKE operation, you'll need to place the logic for it within the clause (or closure) that you pass the Where method.&lt;br&gt;
&lt;/div&gt;</description><author>crpietschmann</author><pubDate>Wed, 15 Oct 2008 06:02:10 GMT</pubDate><guid isPermaLink="false">New Post: JSLINQ and LIKE Operation? 20081015060210A</guid></item><item><title>New Post: No client side dependency</title><link>http://www.codeplex.com/JSLINQ/Thread/View.aspx?ThreadId=33285</link><description>&lt;div style="line-height: normal;"&gt;JSLINQ.js is completely self contained. It requires no other JavaScript Frameworks on the client, and works cross-browser. Also since it is a JavaScript library, it does not have any dependence on the .NET Framework.&lt;br&gt;
&lt;/div&gt;</description><author>crpietschmann</author><pubDate>Wed, 15 Oct 2008 05:57:46 GMT</pubDate><guid isPermaLink="false">New Post: No client side dependency 20081015055746A</guid></item></channel></rss>