2009-10-25 10 views
5

Szukam niektórych danych wejściowych, jak używać linq z javascript, istnieje wiele implementacji dla javascript.LINQ dla JavaScript (JSON, Arrays, DOM)?

ktokolwiek używa i który jest najbardziej zgodny?

szukałem, aby móc używać LINQ przeciwko JSON i DOM

góry dziękuję

Odpowiedz

4

LINQ-jak biblioteka JavaScript jest JSLINQ. Wygląda na to, że ma całkiem pełną implementację.

Przykład ze strony:

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

To powinno być dobre dla JSON - jak JSON jest w zasadzie tylko obiekty. DOM, chociaż może być użyteczny, może być nieco bardziej niezgrabny; prawdopodobnie najlepiej byłoby użyć czegoś innego.

+1

JSON to format danych. To, co dostajesz, gdy parsujesz JSON, to zwykłe obiekty JavaScript. Bardziej sensownym jest mówienie o JSONie jako o zasadzie sznurka. –

+0

Jestem tego świadomy - mówiłem o manipulowaniu sparsowanym JSON-em, a następnie jego ponownym przygotowaniu, co wydaje mi się najbardziej naturalną drogą. –

+1

Dzięki za link, znalazłem inny tutaj http://linqjs.codeplex.com/ wydaje się nieco bardziej kompletny z delegowanym wsparciem, ktoś go użył? –

1

Biblioteki JavaScript, takie jak jQuery, mają metody, które działają na wyliczeniach i zapewniają filtrowanie, projektowanie itp., Tak jak robi to LINQ. Na przykład metoda jQuery.grep() działa dokładnie tak, jak w przypadku funkcji LINQ Where(), filtrując elementy zgodnie z daną (anonimową) funkcją i projektując obiekty takie jak LINQ's Select().