2009-10-25 12 views
5

estoy buscando información sobre cómo usar linq con javascript, hay varias implementaciones para javascript.LINQ para Javascript (JSON, Arrays, DOM)?

¿Alguien usa alguno y cuál es el más compatible?

yo estaba buscando para poder utilizar LINQ contra JSON y el DOM

Gracias de antemano

Respuesta

4

Una biblioteca de LINQ-como JavaScript es JSLINQ. Parece tener una implementación bastante completa.

Ejemplo de un sitio:

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; }); 

Esto debería estar bien para JSON - como JSON es básicamente sólo objetos. El DOM, aunque viable, podría ser un poco más torpe; probablemente sería mejor usar algo más.

+1

JSON es un formato de datos. Lo que obtienes cuando analizas JSON son objetos ordinarios de JavaScript. Tiene más sentido hablar de JSON como básicamente una cadena. –

+0

Estoy al tanto de eso, estaba hablando de manipular el JSON analizado y luego ponerlo en depósito, lo que me parece la forma más natural. –

+1

Gracias por el enlace, encontré otro aquí http://linqjs.codeplex.com/ parece un poco más completo con el apoyo de delegados, ¿alguien lo usó? –

1

Las bibliotecas de JavaScript como jQuery tienen métodos que funcionan en enumerables y proporcionan filtrado, proyección, etc. al igual que LINQ. Por ejemplo, el método jQuery.grep() funciona igual que Where() de LINQ al filtrar elementos según la función dada (anónima) y jQuery.map() proyecta elementos como LINQ's Select().