Created
August 4, 2016 10:09
-
-
Save alanwei43/81fed8ccf836ce2bfb26433551470bb5 to your computer and use it in GitHub Desktop.
LINQ to JavaScript
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//TODO | |
/** | |
* filter | |
* map | |
* skip | |
* take | |
* aggregate | |
* sum | |
* order | |
*/ | |
var _ = function (array) { | |
this.iterals = []; | |
this.isArray = function (para) { | |
return Array.isArray(para); | |
}; | |
this.isGenerator = function (para) { | |
return para.next && para.return; | |
}; | |
if (this.isArray(array)) { | |
var iteral = (function* () { | |
for (let item of array) { | |
yield item; | |
} | |
})(); | |
this.iterals.push(iteral); | |
} else if (this.isGenerator(array)) { | |
this.iterals.push(array); | |
} else { | |
throw "error para type"; | |
} | |
}; | |
_.prototype.filter = function (filter) { | |
var lastIteral = this.getIteral(); | |
var iteral = (function* () { | |
console.info("filter"); | |
for (let item of lastIteral) { | |
if (filter(item)) yield item; | |
} | |
})(); | |
this.iterals.push(iteral); | |
return new _(iteral); | |
}; | |
_.prototype.map = function (map) { | |
var lastIteral = this.getIteral(); | |
var iteral = (function* () { | |
console.info("map"); | |
for (let item of lastIteral) { | |
yield map(item) | |
} | |
})(); | |
this.iterals.push(iteral); | |
return new _(iteral); | |
}; | |
_.prototype.skip = function (count) { | |
var lastIteral = this.getIteral(); | |
var iteral = (function* () { | |
for (let item of lastIteral) { | |
} | |
})(); | |
}; | |
_.prototype.getIteral = function (index) { | |
if (arguments.length === 1) return this.iterals[index]; | |
return this.iterals[this.iterals.length - 1]; | |
}; | |
_.prototype.each = function (each) { | |
var lastIteral = this.getIteral(); | |
for (let item of lastIteral) { | |
each(item); | |
} | |
return this; | |
}; | |
_.prototype.toArray = function () { | |
var items = []; | |
for (let item of this.getIteral()) { | |
items.push(item); | |
} | |
return items; | |
} | |
var collection = [ | |
{ | |
Pk_Id: 32, | |
ModifyTime: "/Date(1470299648877)/", | |
ModifierCode: "1468", | |
ModifierName: "罗松雄", | |
ContractNum: "TS-JXS-201511-05005", | |
PaymentBillNum: "SK201511180076", | |
PaymentId: "Identity4", | |
AdviserCodeBeforeModify: "3306", | |
AdviserCodeAfterModify: "3008", | |
CommissionAmountBeforeModify: 518.15, | |
CommissionAmountAfterModify: 3008, | |
ModifyReason: "all 3008", | |
ExtendAdviserNameBeforeModify: "李辉", | |
ExtendAdviserNameAfterModify: "晏雅玲" | |
}, | |
{ | |
Pk_Id: 31, | |
ModifyTime: "/Date(1470299551137)/", | |
ModifierCode: "1468", | |
ModifierName: "罗松雄", | |
ContractNum: "TS-JXS-201511-05005", | |
PaymentBillNum: "SK201511180076", | |
PaymentId: "Identity4", | |
AdviserCodeBeforeModify: "234", | |
AdviserCodeAfterModify: "3306", | |
CommissionAmountBeforeModify: 153.15, | |
CommissionAmountAfterModify: 518.15, | |
ModifyReason: "3306 518.15", | |
ExtendAdviserNameBeforeModify: "", | |
ExtendAdviserNameAfterModify: "李辉" | |
}, | |
{ | |
Pk_Id: 30, | |
ModifyTime: "/Date(1470295282233)/", | |
ModifierCode: "1468", | |
ModifierName: "罗松雄", | |
ContractNum: "TS-JXS-201511-05005", | |
PaymentBillNum: "SK201511180076", | |
PaymentId: "Identity4", | |
AdviserCodeBeforeModify: "1234", | |
AdviserCodeAfterModify: "234", | |
CommissionAmountBeforeModify: 184.12, | |
CommissionAmountAfterModify: 153.15, | |
ModifyReason: "afeggg", | |
ExtendAdviserNameBeforeModify: "", | |
ExtendAdviserNameAfterModify: "" | |
}, | |
{ | |
Pk_Id: 29, | |
ModifyTime: "/Date(1470294935437)/", | |
ModifierCode: "1468", | |
ModifierName: "罗松雄", | |
ContractNum: "TS-JXS-201511-05005", | |
PaymentBillNum: "SK201511180076", | |
PaymentId: "Identity4", | |
AdviserCodeBeforeModify: "2003", | |
AdviserCodeAfterModify: "1234", | |
CommissionAmountBeforeModify: 485.15, | |
CommissionAmountAfterModify: 184.12, | |
ModifyReason: "afe", | |
ExtendAdviserNameBeforeModify: "", | |
ExtendAdviserNameAfterModify: "" | |
}, | |
{ | |
Pk_Id: 28, | |
ModifyTime: "/Date(1470294924593)/", | |
ModifierCode: "1468", | |
ModifierName: "罗松雄", | |
ContractNum: "TS-JXS-201511-05005", | |
PaymentBillNum: "SK201511180076", | |
PaymentId: "Identity4", | |
AdviserCodeBeforeModify: "50", | |
AdviserCodeAfterModify: "2003", | |
CommissionAmountBeforeModify: 362.21, | |
CommissionAmountAfterModify: 485.15, | |
ModifyReason: "sef", | |
ExtendAdviserNameBeforeModify: "", | |
ExtendAdviserNameAfterModify: "" | |
}, | |
{ | |
Pk_Id: 27, | |
ModifyTime: "/Date(1470293121610)/", | |
ModifierCode: "1468", | |
ModifierName: "罗松雄", | |
ContractNum: "TS-JXS-201511-05005", | |
PaymentBillNum: "SK201511180076", | |
PaymentId: "Identity4", | |
AdviserCodeBeforeModify: "34", | |
AdviserCodeAfterModify: "50", | |
CommissionAmountBeforeModify: 23, | |
CommissionAmountAfterModify: 362.21, | |
ModifyReason: "afegg", | |
ExtendAdviserNameBeforeModify: "", | |
ExtendAdviserNameAfterModify: "" | |
}, | |
{ | |
Pk_Id: 24, | |
ModifyTime: "/Date(1470281170900)/", | |
ModifierCode: "1468", | |
ModifierName: "罗松雄", | |
ContractNum: "TS-JXS-201511-05005", | |
PaymentBillNum: "SK201511180076", | |
PaymentId: "Identity4", | |
AdviserCodeBeforeModify: "233", | |
AdviserCodeAfterModify: "34", | |
CommissionAmountBeforeModify: 32542, | |
CommissionAmountAfterModify: 23, | |
ModifyReason: "5vaeef", | |
ExtendAdviserNameBeforeModify: "", | |
ExtendAdviserNameAfterModify: "" | |
}, | |
{ | |
Pk_Id: 23, | |
ModifyTime: "/Date(1470280873237)/", | |
ModifierCode: "1468", | |
ModifierName: "罗松雄", | |
ContractNum: "TS-JXS-201511-05005", | |
PaymentBillNum: "SK201511180076", | |
PaymentId: "Identity4", | |
AdviserCodeBeforeModify: "3000", | |
AdviserCodeAfterModify: "233", | |
CommissionAmountBeforeModify: 512.512, | |
CommissionAmountAfterModify: 32542, | |
ModifyReason: "ve", | |
ExtendAdviserNameBeforeModify: "陈汉江", | |
ExtendAdviserNameAfterModify: "" | |
}, | |
{ | |
Pk_Id: 22, | |
ModifyTime: "/Date(1470277903100)/", | |
ModifierCode: "1468", | |
ModifierName: "罗松雄", | |
ContractNum: "TS-JXS-201511-05005", | |
PaymentBillNum: "SK201511180076", | |
PaymentId: "Identity4", | |
AdviserCodeBeforeModify: "1525", | |
AdviserCodeAfterModify: "3000", | |
CommissionAmountBeforeModify: 52.01, | |
CommissionAmountAfterModify: 512.512, | |
ModifyReason: "test", | |
ExtendAdviserNameBeforeModify: "王琦", | |
ExtendAdviserNameAfterModify: "陈汉江" | |
}, | |
{ | |
Pk_Id: 21, | |
ModifyTime: "/Date(1470217493753)/", | |
ModifierCode: "1468", | |
ModifierName: "罗松雄", | |
ContractNum: "TS-JXS-201511-05005", | |
PaymentBillNum: "SK201511180076", | |
PaymentId: "Identity4", | |
AdviserCodeBeforeModify: "7425", | |
AdviserCodeAfterModify: "1525", | |
CommissionAmountBeforeModify: 52.01, | |
CommissionAmountAfterModify: 52.01, | |
ModifyReason: " 调整后提成金额:", | |
ExtendAdviserNameBeforeModify: "王军", | |
ExtendAdviserNameAfterModify: "王琦" | |
}, | |
{ | |
Pk_Id: 20, | |
ModifyTime: "/Date(1470216507727)/", | |
ModifierCode: "1468", | |
ModifierName: "罗松雄", | |
ContractNum: "TS-JXS-201511-05005", | |
PaymentBillNum: "SK201511180076", | |
PaymentId: "Identity4", | |
AdviserCodeBeforeModify: "7412", | |
AdviserCodeAfterModify: "7425", | |
CommissionAmountBeforeModify: 4958345628344, | |
CommissionAmountAfterModify: 52.01, | |
ModifyReason: " 调整后提成金额:", | |
ExtendAdviserNameBeforeModify: "张玥", | |
ExtendAdviserNameAfterModify: "王军" | |
}, | |
{ | |
Pk_Id: 19, | |
ModifyTime: "/Date(1470216404457)/", | |
ModifierCode: "1468", | |
ModifierName: "罗松雄", | |
ContractNum: "TS-JXS-201511-05005", | |
PaymentBillNum: "SK201511180076", | |
PaymentId: "Identity4", | |
AdviserCodeBeforeModify: "1", | |
AdviserCodeAfterModify: "7412", | |
CommissionAmountBeforeModify: 2, | |
CommissionAmountAfterModify: 4958345628344, | |
ModifyReason: "4958345628344", | |
ExtendAdviserNameBeforeModify: "", | |
ExtendAdviserNameAfterModify: "张玥" | |
}, | |
{ | |
Pk_Id: 15, | |
ModifyTime: "/Date(1470215642833)/", | |
ModifierCode: "1468", | |
ModifierName: "罗松雄", | |
ContractNum: "TS-JXS-201511-05005", | |
PaymentBillNum: "SK201511180076", | |
PaymentId: "Identity4", | |
AdviserCodeBeforeModify: "AFTER", | |
AdviserCodeAfterModify: "1", | |
CommissionAmountBeforeModify: 29304.12, | |
CommissionAmountAfterModify: 2, | |
ModifyReason: "ddd", | |
ExtendAdviserNameBeforeModify: "", | |
ExtendAdviserNameAfterModify: "" | |
}, | |
{ | |
Pk_Id: 14, | |
ModifyTime: "/Date(1470215634243)/", | |
ModifierCode: "1468", | |
ModifierName: "罗松雄", | |
ContractNum: "TS-JXS-201511-05005", | |
PaymentBillNum: "SK201511180076", | |
PaymentId: "Identity4", | |
AdviserCodeBeforeModify: "AFTER", | |
AdviserCodeAfterModify: "1", | |
CommissionAmountBeforeModify: 29304.12, | |
CommissionAmountAfterModify: 2, | |
ModifyReason: "ddd", | |
ExtendAdviserNameBeforeModify: "", | |
ExtendAdviserNameAfterModify: "" | |
}, | |
{ | |
Pk_Id: 13, | |
ModifyTime: "/Date(1470215625697)/", | |
ModifierCode: "1468", | |
ModifierName: "罗松雄", | |
ContractNum: "TS-JXS-201511-05005", | |
PaymentBillNum: "SK201511180076", | |
PaymentId: "Identity4", | |
AdviserCodeBeforeModify: "AFTER", | |
AdviserCodeAfterModify: "1", | |
CommissionAmountBeforeModify: 29304.12, | |
CommissionAmountAfterModify: 2, | |
ModifyReason: "ddd", | |
ExtendAdviserNameBeforeModify: "", | |
ExtendAdviserNameAfterModify: "" | |
}, | |
{ | |
Pk_Id: 10, | |
ModifyTime: "/Date(1470215368410)/", | |
ModifierCode: "1468", | |
ModifierName: "罗松雄", | |
ContractNum: "TS-JXS-201511-05005", | |
PaymentBillNum: "SK201511180076", | |
PaymentId: "Identity4", | |
AdviserCodeBeforeModify: "AFTER", | |
AdviserCodeAfterModify: "1", | |
CommissionAmountBeforeModify: 29304.12, | |
CommissionAmountAfterModify: 2, | |
ModifyReason: "ddd", | |
ExtendAdviserNameBeforeModify: "", | |
ExtendAdviserNameAfterModify: "" | |
}, | |
{ | |
Pk_Id: 6, | |
ModifyTime: "/Date(1470214033153)/", | |
ModifierCode: "fj023rf", | |
ModifierName: "ABC", | |
ContractNum: "TS-JXS-201511-05005", | |
PaymentBillNum: "SK201511180076", | |
PaymentId: "Identity4", | |
AdviserCodeBeforeModify: "BEFORE", | |
AdviserCodeAfterModify: "AFTER", | |
CommissionAmountBeforeModify: 9904.21, | |
CommissionAmountAfterModify: 29304.12, | |
ModifyReason: "Hello", | |
ExtendAdviserNameBeforeModify: "", | |
ExtendAdviserNameAfterModify: "" | |
} | |
]; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment