Introduction
Generic collections in .NET, in combination with LINQ, are powerful tools for the C# or VB.NET developer; however, nothing like it comes with JavaScript.
This code provides the beginnings of a JavaScript implementation for a Generic List. Fortunately, due to JavaScript's flexibility,
this can be achieved with a relatively small amount of code.
Using the code
The following public functions with a description of each are currently supported:
Add
: Add an element to the end of the list.ElementAt
: Get the element at a specific index in the list.Where
: Return a copy of this List object with only the elements that meet the criteria.FirstOrDefault
: Return the first object in the list that meets the 'query' criteria or null ifCount
: Return the number of elements in the list. OrderBy
: Order (ascending) the objects in the list by the given object property name.OrderByDescending
: Order (descending) the objects in the list by the given object propertyData
: Set the list data using the passed in array.
Example of using Car
objects to fill the List:
function Car(make, model)
{
this.make = make;
this.model = model;
}
var myList = new List();
myList.Add(new Car("Honda", "CR-V"));
myList.Add(new Car("Nissan", "Sentra"));
myList.Add(new Car("Honda", "Civic"));
var selList = myList.Where("make == 'Honda'").OrderByDescending("model");
History
Version 1 uploaded on May 4, 2012.
For over 25 years I have worked in the Information Systems field as both a full-time employee and an independent contractor for a variety of companies.
I have extensive professional experience with numerous programming languages and technologies including C#, JavaScript, SQL, VB.NET, and ASP.NET as well as a working knowledge of a great variety of others. I also have an advanced understanding of the concepts behind these technologies including Object-Oriented Programming, Relational Data, Functional Programming, MVC and MVVM.
Some of my more recent work has been designing and building web applications primarily with JavaScript in conjunction with many of the JavaScript libraries/frameworks including jQuery, KnockoutJS and Bootstrap and consuming both JSON and REST services.
In nearly all of the work I have been involved with in the past ten years I have played a lead role in the design as well as the development of the work. More recently I have managed a team of software developers at a local mid-size company.