Skip to content

Instantly share code, notes, and snippets.

@tonghuikang
Created December 28, 2018 11:38
Show Gist options
  • Save tonghuikang/38379f97ff050ed9702aef3870695b1e to your computer and use it in GitHub Desktop.
Save tonghuikang/38379f97ff050ed9702aef3870695b1e to your computer and use it in GitHub Desktop.
var data_string = '[{"totalUser":71,"currentPage":1,"totalPage":8,"usages": [{"Name":"Roanne","Date of Birth":"23/06/1967","Reference":"g1GgnxLjXva6","Client Type":"Natural Person","Risk":1,"Date of Visit":"18/10/2016"}, {"Name":"Wallas","Date of Birth":"09/05/1993","Reference":"dHFLx3","Client Type":"Entities","Risk":3,"Date of Visit":"23/08/2017"}, {"Name":"Antonia","Date of Birth":"02/02/1979","Reference":"TR2hK3w7x","Client Type":"Entities","Risk":2,"Date of Visit":"06/09/2011"}, {"Name":"Reeba","Date of Birth":"03/03/1988","Reference":"KfuMQxSjVSx","Client Type":"Natural Person","Risk":3,"Date of Visit":"18/09/2018"}, {"Name":"Tommie","Date of Birth":"30/07/1998","Reference":"FH4zIOxzgC","Client Type":"Natural Person","Risk":3,"Date of Visit":"21/05/2017"}, {"Name":"Shelly","Date of Birth":"12/02/1986","Reference":"nDX64QxZ","Client Type":"PEP","Risk":3,"Date of Visit":"12/03/2016"}, {"Name":"Merry","Date of Birth":"13/02/1989","Reference":"DRMeDHtNtX","Client Type":"PEP","Risk":2,"Date of Visit":"31/12/2014"}, {"Name":"Micki","Date of Birth":"22/02/1972","Reference":"rlRXPptD","Client Type":"Natural Person","Risk":1,"Date of Visit":"01/05/2017"}, {"Name":"Marcelle","Date of Birth":"28/10/1962","Reference":"F3FBLY8","Client Type":"Entities","Risk":1,"Date of Visit":"30/04/2018"}, {"Name":"Mack","Date of Birth":"10/11/1990","Reference":"ARqS6jI74","Client Type":"Natural Person","Risk":3,"Date of Visit":"18/04/2016"}, {"Name":"Arnoldo","Date of Birth":"11/02/1983","Reference":"CoNLZUP2","Client Type":"Natural Person","Risk":1,"Date of Visit":"29/12/2015"}, {"Name":"Arv","Date of Birth":"02/06/1983","Reference":"seJH6n","Client Type":"Natural Person","Risk":1,"Date of Visit":"02/04/2015"}, {"Name":"Audre","Date of Birth":"17/01/1992","Reference":"8DGPLdP0","Client Type":"PEP","Risk":1,"Date of Visit":"15/04/2015"}, {"Name":"Blanca","Date of Birth":"01/11/1972","Reference":"lBEibJmQSRDK","Client Type":"Entities","Risk":1,"Date of Visit":"13/11/2014"}, {"Name":"Ranique","Date of Birth":"16/05/1994","Reference":"OvOeffz","Client Type":"PEP","Risk":3,"Date of Visit":"19/08/2016"}, {"Name":"Hedwiga","Date of Birth":"09/11/1997","Reference":"k8XTimD93Cc0","Client Type":"PEP","Risk":3,"Date of Visit":"23/09/2018"}, {"Name":"Cyndi","Date of Birth":"29/10/1973","Reference":"QgYpMlLpO","Client Type":"PEP","Risk":2,"Date of Visit":"19/09/2018"}, {"Name":"Vail","Date of Birth":"31/08/1970","Reference":"OC5CcdvtOk","Client Type":"PEP","Risk":3,"Date of Visit":"28/12/2015"}, {"Name":"Meyer","Date of Birth":"25/12/1977","Reference":"cWNZeI32rg6e","Client Type":"Natural Person","Risk":3,"Date of Visit":"08/08/2013"}, {"Name":"Jeffry","Date of Birth":"23/08/1984","Reference":"IB5150l3","Client Type":"PEP","Risk":3,"Date of Visit":"19/12/2010"}, {"Name":"Elka","Date of Birth":"11/05/2000","Reference":"mxH3P3","Client Type":"PEP","Risk":1,"Date of Visit":"09/11/2013"}, {"Name":"August","Date of Birth":"28/12/1996","Reference":"YwKLWoP6","Client Type":"Entities","Risk":1,"Date of Visit":"17/01/2016"}, {"Name":"Vivien","Date of Birth":"04/03/1980","Reference":"R0bTbnQkJZTx","Client Type":"PEP","Risk":2,"Date of Visit":"04/03/2015"}, {"Name":"Jackie","Date of Birth":"10/10/1973","Reference":"LUFMtzWwApN","Client Type":"Natural Person","Risk":2,"Date of Visit":"26/07/2013"}, {"Name":"Aguistin","Date of Birth":"18/10/1974","Reference":"L5eAnBnajh8","Client Type":"Entities","Risk":1,"Date of Visit":"18/11/2011"}, {"Name":"Der","Date of Birth":"02/03/1963","Reference":"Z4AU5opObL","Client Type":"Natural Person","Risk":1,"Date of Visit":"22/02/2013"}, {"Name":"Lynsey","Date of Birth":"28/09/1989","Reference":"3bAKUsA1x","Client Type":"Natural Person","Risk":2,"Date of Visit":"21/03/2017"}, {"Name":"Uri","Date of Birth":"22/08/1990","Reference":"4srLDu","Client Type":"PEP","Risk":1,"Date of Visit":"18/03/2011"}, {"Name":"Herc","Date of Birth":"20/09/1986","Reference":"TFDQ3rmo","Client Type":"PEP","Risk":3,"Date of Visit":"07/10/2016"}, {"Name":"Stacey","Date of Birth":"28/06/1965","Reference":"6ANOWlXVr","Client Type":"PEP","Risk":2,"Date of Visit":"18/01/2014"}, {"Name":"Remington","Date of Birth":"20/05/1991","Reference":"KUv1CACodlvY","Client Type":"Natural Person","Risk":1,"Date of Visit":"03/08/2018"}, {"Name":"Rora","Date of Birth":"13/06/1970","Reference":"kpNUymj","Client Type":"Entities","Risk":2,"Date of Visit":"12/10/2011"}, {"Name":"Taylor","Date of Birth":"11/08/1989","Reference":"GC2PI3","Client Type":"Entities","Risk":3,"Date of Visit":"24/06/2014"}, {"Name":"Sofia","Date of Birth":"15/10/1978","Reference":"MVWI17g","Client Type":"Natural Person","Risk":2,"Date of Visit":"17/04/2016"}, {"Name":"Jessie","Date of Birth":"16/03/1970","Reference":"v2ERTcGG","Client Type":"Entities","Risk":2,"Date of Visit":"09/01/2013"}, {"Name":"Leonardo","Date of Birth":"03/02/1997","Reference":"J1OTfTRF","Client Type":"PEP","Risk":2,"Date of Visit":"06/03/2012"}, {"Name":"Bradley","Date of Birth":"05/07/1983","Reference":"vcpjPbqtFxr0","Client Type":"PEP","Risk":2,"Date of Visit":"16/05/2014"}, {"Name":"Carolus","Date of Birth":"01/08/1979","Reference":"MWJ1Jk21","Client Type":"PEP","Risk":3,"Date of Visit":"06/11/2017"}, {"Name":"Jandy","Date of Birth":"18/02/1979","Reference":"8qmqgCKR","Client Type":"Natural Person","Risk":3,"Date of Visit":"26/10/2012"}, {"Name":"Samantha","Date of Birth":"28/02/1995","Reference":"L6EKprpUFFOb","Client Type":"PEP","Risk":3,"Date of Visit":"03/09/2013"}, {"Name":"Hatti","Date of Birth":"17/04/1987","Reference":"nEDyKv","Client Type":"Entities","Risk":1,"Date of Visit":"16/07/2017"}, {"Name":"Doreen","Date of Birth":"24/02/1992","Reference":"NkOxwoVQKr","Client Type":"PEP","Risk":3,"Date of Visit":"29/12/2014"}, {"Name":"Codee","Date of Birth":"04/07/1997","Reference":"4JuChtw","Client Type":"Natural Person","Risk":3,"Date of Visit":"31/01/2014"}, {"Name":"Rhetta","Date of Birth":"21/11/1987","Reference":"jFUcBytvW","Client Type":"PEP","Risk":3,"Date of Visit":"07/09/2012"}, {"Name":"Renaud","Date of Birth":"12/06/1965","Reference":"TlSBr4oqvDpW","Client Type":"Natural Person","Risk":3,"Date of Visit":"24/01/2013"}, {"Name":"Amalia","Date of Birth":"06/10/1994","Reference":"6oOvGxwvan","Client Type":"PEP","Risk":2,"Date of Visit":"24/03/2014"}, {"Name":"Hubie","Date of Birth":"24/10/1982","Reference":"ALjYizp6TBdh","Client Type":"Entities","Risk":1,"Date of Visit":"10/11/2018"}, {"Name":"Wallace","Date of Birth":"12/10/1962","Reference":"NS6dgy4g","Client Type":"Natural Person","Risk":2,"Date of Visit":"22/05/2015"}, {"Name":"Sammy","Date of Birth":"23/03/1991","Reference":"ZDIjBvi8hZz","Client Type":"PEP","Risk":3,"Date of Visit":"17/07/2013"}, {"Name":"Liane","Date of Birth":"20/11/1968","Reference":"PnB0NuUKt","Client Type":"Entities","Risk":3,"Date of Visit":"02/07/2011"}, {"Name":"Winthrop","Date of Birth":"08/04/1969","Reference":"YFrxAhscr2F","Client Type":"PEP","Risk":2,"Date of Visit":"18/10/2013"}, {"Name":"Modesta","Date of Birth":"17/12/1981","Reference":"cIjQq5Qxwe","Client Type":"Entities","Risk":3,"Date of Visit":"14/01/2016"}, {"Name":"Ivie","Date of Birth":"18/01/1976","Reference":"N8F8B4tWKc","Client Type":"Natural Person","Risk":3,"Date of Visit":"29/05/2018"}, {"Name":"Puff","Date of Birth":"20/10/1982","Reference":"Asy45BV","Client Type":"Entities","Risk":3,"Date of Visit":"15/12/2016"}, {"Name":"Millard","Date of Birth":"16/07/1992","Reference":"6uCk0zjFhr","Client Type":"Natural Person","Risk":3,"Date of Visit":"09/09/2014"}, {"Name":"Ray","Date of Birth":"09/03/1966","Reference":"zY5TD1abYmf","Client Type":"PEP","Risk":2,"Date of Visit":"21/12/2016"}, {"Name":"Thoma","Date of Birth":"31/03/1992","Reference":"uCQr279","Client Type":"Natural Person","Risk":2,"Date of Visit":"21/08/2018"}, {"Name":"Earle","Date of Birth":"26/05/1983","Reference":"Kw4vNe","Client Type":"Entities","Risk":1,"Date of Visit":"28/07/2018"}, {"Name":"Ash","Date of Birth":"28/11/1966","Reference":"pA9lwVFlNqYy","Client Type":"Natural Person","Risk":2,"Date of Visit":"08/03/2012"}, {"Name":"Sigismund","Date of Birth":"20/06/1969","Reference":"3RQ9onc4","Client Type":"Natural Person","Risk":2,"Date of Visit":"31/07/2018"}, {"Name":"Joelie","Date of Birth":"21/11/1988","Reference":"WZUIkvK8j","Client Type":"Entities","Risk":3,"Date of Visit":"11/09/2015"}, {"Name":"Marlo","Date of Birth":"02/07/1996","Reference":"AVNMGx","Client Type":"Natural Person","Risk":1,"Date of Visit":"07/08/2016"}, {"Name":"Aylmar","Date of Birth":"04/04/1966","Reference":"AMmnfL","Client Type":"Entities","Risk":3,"Date of Visit":"06/02/2016"}, {"Name":"Clark","Date of Birth":"08/03/1965","Reference":"hqYVuOInuj","Client Type":"Natural Person","Risk":1,"Date of Visit":"10/10/2012"}, {"Name":"Winfield","Date of Birth":"26/07/1989","Reference":"Un218QYR","Client Type":"Entities","Risk":3,"Date of Visit":"10/11/2012"}, {"Name":"Harwell","Date of Birth":"13/05/1973","Reference":"3J5lPUJ","Client Type":"PEP","Risk":3,"Date of Visit":"17/09/2012"}, {"Name":"Pierre","Date of Birth":"05/06/1984","Reference":"SBSeEqq0J6Gt","Client Type":"Natural Person","Risk":2,"Date of Visit":"15/11/2011"}, {"Name":"Samuel","Date of Birth":"02/07/1969","Reference":"grTGemEQ8jhe","Client Type":"Natural Person","Risk":2,"Date of Visit":"07/02/2016"}, {"Name":"Corny","Date of Birth":"05/11/1999","Reference":"EUEAbZbau","Client Type":"Natural Person","Risk":2,"Date of Visit":"05/04/2013"}, {"Name":"Perceval","Date of Birth":"24/08/1984","Reference":"9zV1lARKg","Client Type":"Entities","Risk":1,"Date of Visit":"19/01/2011"}, {"Name":"Aridatha","Date of Birth":"30/01/1985","Reference":"hf7BKu","Client Type":"PEP","Risk":3,"Date of Visit":"14/02/2018"}] }]';
console.log(JSON.parse(data_string));
var instr_string_1 = '[{"action":{"to ":"","from":"1/1/1965","name":"r","reference":"g", "clientype": "Natural Person", "risk": 1, "directionname": 1,"directionDOB":1,"directionReference":1,"directionClientType":1,"directionRisk":1,"directionDOV":1}}]'
var instr_string_2 = '[{"action":{"to ":"21/12/2018","from":"","name":"m","reference":"", "clientype": "Natural Person", "risk": 1, "directionname": 1,"directionDOB":1,"directionReference":1,"directionClientType":1,"directionRisk":1,"directionDOV":1}}]';
console.log(JSON.parse(instr_string_1));
function compare(usage, action) {
// compare start date
if (action["from"] !== ""){
if (compare_dates(action["from"], usage["Date of Birth"])){
return false
}
}
// compare end date
if (action["to "] !== ""){
if (compare_dates(usage["Date of Birth"], action["to "])){
return false
}
}
// compare name
if (!(usage["Name"].toLowerCase()).startsWith(action["name"].toLowerCase())){
return false
}
// compare reference
if (!usage["Reference"].startsWith(action["reference"])){
return false
}
// compare clientype
if (usage["Client Type"] !== action["clientype"]){
return false
}
// compare risk
if (usage["Risk"] === "" || usage["Risk"] !== action["risk"]){
return false
}
return true
}
function compare_dates(date_larger, date_smaller) {
if (parseInt(date_larger.substring(6, 10) + date_larger.substring(3, 5) + date_larger.substring(0, 2))
> parseInt(date_smaller.substring(6, 10) + date_smaller.substring(3, 5) + date_smaller.substring(0, 2))){
return true
}
return false
}
function database_sieve(data_string, instr_string) {
let constrained_list = [];
let data = JSON.parse(data_string)[0]["usages"];
let instr = JSON.parse(instr_string)[0]["action"];
for (let usage of data) {
if (compare(usage, instr)) {
constrained_list.push(usage);
}
}
return constrained_list
}
console.log(database_sieve(data_string, instr_string_1))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment