Linqa.js Code
Brought to you by:
oohacker
File | Date | Author | Commit |
---|---|---|---|
demo | 2017-06-29 | oohacker | [r1] first release |
README.txt | 2017-06-30 | oohacker | [r2] v.0.2 |
jquery.min.js | 2017-06-29 | oohacker | [r1] first release |
linqa-0.2.js | 2017-06-30 | oohacker | [r2] v.0.2 |
qunit-2.3.3.css | 2017-06-29 | oohacker | [r1] first release |
qunit-2.3.3.js | 2017-06-29 | oohacker | [r1] first release |
test.html | 2017-06-30 | oohacker | [r2] v.0.2 |
======================================================================================== Linqa-0.1.js Release message Auhtor: ximenwang Mail: oohacker@qq.com Date: 2017/06/29 License: LGPL v3.0 ======================================================================================== english: The Linqa-0.1.js is a JavaScript extention library for the Array Object, it can help us to access an array data just like the LINQ ways which beening used in C#. So, just enjoy it. BTW: Forgive me, my english is weak. haha~~ 中文: Linqa-0.1.js 是一个用于扩展JavaScript中的Array对象的库,它可以帮助我们像在C#中使用LINQ的方法去操作JS中的数组对象。 Examples: ======================================================================================== var data = [{x:1, y:5}, {x:3, y:7}, {x:5, y:9}, {x:7, y:11}, {x:9, y:13}]; document.write('(' + data.select(a=>a.x + ',' + a.y).join('), (') + ')'); output: (1,5), (3, 7), (5,9), (7,11), (9, 13) ----------------------------------------------- var data = [{x:1, y:1}, {x:3, y:3}, {x:5, y:5}, {x:7, y:7}, {x:9, y:9}]; var q = data.where(a=>a.x*a.y == 25).first(); q's value: {x:5, y:5} ) ----------------------------------------------- var data= [1, 5, 3, 9, 7]; var str = data.orderAsc(a=>a).join(','); str's value: '1,3,5,7,9' ------------------------------------------------ var data6 = [{x:1, y:6, z:3}, {x:1, y:5, z:3}, {x:2, y:1, z:8}, {x:2, y:6, z:5}, {x:2, y:9, z:8}]; grps = data6.groupBy(a=>[a.x, a.z]); grps's value: [ { key: [1, 3], list: [{x:1,y:6,z:3}, {x:1, y:5, z:3}] }, { key: [2, 8], list: [{x:2, y:1, z:8}, {x:2, y:9, z:8}] }, { key: [2, 5], list: [{x:2, y:6, z:5}] } ] Change Logs: (变更) ======================================================================================== v0.1 first release. (第一次发布) v.0.2 ---------------------------------------------- 1. modified methods sum, avg, max, min, orderAsc, orderDesc, no-argument invoke supported.