jQuery.linq.min.js是一款基于jQuery的Linq查詢庫。它提供了類似于C#的Linq查詢語法,使得在JavaScript中進行數組或對象的查詢、篩選、分組和排序變得簡單快捷。
// 示例1:根據年齡進行排序 var data = [{name: "Tom", age: 18}, {name: "John", age: 22}, {name: "Sarah", age: 20}]; var sortedData = $(data).orderBy(function(x) { return x.age; }).toArray(); console.log(sortedData); // [{name: "Tom", age: 18}, {name: "Sarah", age: 20}, {name: "John", age: 22}] // 示例2:篩選年齡大于20的人名 var names = $(data).where(function(x) { return x.age >20; }).select(function(x) { return x.name; }).toArray(); console.log(names); // ["John", "Sarah"]
在上述示例中,orderBy()方法和where()方法都接受一個函數參數,該函數用于定義比較或篩選邏輯。通過toArray()方法可以將查詢結果轉換為普通數組。
除了常規的查詢操作,jQuery.linq.min.js還提供了groupBy()方法,用于實現分組操作。例如:
// 示例3:按年齡分組 var groupedData = $(data).groupBy(function(x) { return x.age; }).select(function(x) { return {age: x.key, people: x.items}; }).toArray(); console.log(groupedData); // [{age: 18, people: [{name: "Tom", age: 18}]}, {age: 20, people: [{name: "Sarah", age: 20}]}, {age: 22, people: [{name: "John", age: 22}]}]
通過groupBy()方法分組后,每個分組都包含一個key屬性和一個items屬性。其中,key為分組的依據,items為分組中的元素數組。
在實際開發中,如果需要經常進行數組或對象的查詢、篩選、分組和排序,可以考慮使用jQuery.linq.min.js庫簡化相關操作。