From 48b8de3a23c71f8894a5250141536852f4ebd0ec Mon Sep 17 00:00:00 2001 From: SaadOcloud Date: Tue, 20 Sep 2022 13:45:07 +0500 Subject: [PATCH 1/8] 1st javascript task' --- Task1.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 Task1.js diff --git a/Task1.js b/Task1.js new file mode 100644 index 0000000..de02f4a --- /dev/null +++ b/Task1.js @@ -0,0 +1,17 @@ +function groupcity(array,key){ + return array.filter(a=>{ + return a.city==key + }) +} + +const array= [ + {id:1,name:"Bilal", city:"Lahore"}, + {id:1,name:"Bilal", city:"Lahore"}, + {id:3,name:"Hafsa", city:"Karachi"}, + {id:4,name:"Rehan", city:"Lahore"}, + {id:5,name:"Saqib", city:"Karachi"}, + {id:6,name:"Farhan", city:"Islamabad"} +] +console.log(groupcity(array,"Karachi")) +console.log(groupcity(array,"Lahore")) +console.log(groupcity(array,"Islamabad")) \ No newline at end of file From dd3de54aa83ea7fbbefa03d445dcc33b03b67c5f Mon Sep 17 00:00:00 2001 From: SaadOcloud Date: Tue, 20 Sep 2022 17:30:31 +0500 Subject: [PATCH 2/8] Task 1 correct approach --- Task1.js | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/Task1.js b/Task1.js index de02f4a..0ae7132 100644 --- a/Task1.js +++ b/Task1.js @@ -1,17 +1,18 @@ -function groupcity(array,key){ - return array.filter(a=>{ - return a.city==key - }) +function groupByKey(array, key) { + return array.reduce((hash, obj) => { + if(obj[key] === undefined) return hash; + return Object.assign(hash, { [obj[key]]:( hash[obj[key]] || [] ).concat(obj)}) + }, {}) } const array= [ - {id:1,name:"Bilal", city:"Lahore"}, - {id:1,name:"Bilal", city:"Lahore"}, - {id:3,name:"Hafsa", city:"Karachi"}, - {id:4,name:"Rehan", city:"Lahore"}, - {id:5,name:"Saqib", city:"Karachi"}, - {id:6,name:"Farhan", city:"Islamabad"} -] -console.log(groupcity(array,"Karachi")) -console.log(groupcity(array,"Lahore")) -console.log(groupcity(array,"Islamabad")) \ No newline at end of file + {id:1,name:"Bilal", city:"Lahore"}, + {id:1,name:"Bilal", city:"Lahore"}, + {id:3,name:"Hafsa", city:"Karachi"}, + {id:4,name:"Rehan", city:"Lahore"}, + {id:5,name:"Saqib", city:"Karachi"}, + {id:6,name:"Farhan", city:"Islamabad"} + ]; + +var result = groupByKey(array, 'city'); +console.log(result) From 4c1a6800bcf61b014bc995a920f1505d1973e3d4 Mon Sep 17 00:00:00 2001 From: SaadOcloud Date: Wed, 21 Sep 2022 12:59:25 +0500 Subject: [PATCH 3/8] Conflicts Resolve --- Task1.js | 39 ++++++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/Task1.js b/Task1.js index 0ae7132..4fb4613 100644 --- a/Task1.js +++ b/Task1.js @@ -1,18 +1,27 @@ -function groupByKey(array, key) { - return array.reduce((hash, obj) => { - if(obj[key] === undefined) return hash; - return Object.assign(hash, { [obj[key]]:( hash[obj[key]] || [] ).concat(obj)}) - }, {}) -} +function GroupByKey(array,key) +{ + var tempData = []; + for ( var index=0; index Date: Wed, 21 Sep 2022 13:01:07 +0500 Subject: [PATCH 4/8] Conflicts Resolve --- Task1.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Task1.js b/Task1.js index 4fb4613..15d2c74 100644 --- a/Task1.js +++ b/Task1.js @@ -24,4 +24,4 @@ const array= [ let key='city'; -GroupByKey(array,key) \ No newline at end of file +console.log(GroupByKey(array,key)) \ No newline at end of file From 3e7d228ebd1ade57b5aba77179d385dffbaa1ada Mon Sep 17 00:00:00 2001 From: SaadOcloud Date: Wed, 21 Sep 2022 13:20:57 +0500 Subject: [PATCH 5/8] Conflicts Resolve --- Task1.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Task1.js b/Task1.js index 15d2c74..a39f99d 100644 --- a/Task1.js +++ b/Task1.js @@ -1,6 +1,6 @@ function GroupByKey(array,key) { - var tempData = []; + var tempData = {}; for ( var index=0; index Date: Wed, 21 Sep 2022 16:11:30 +0500 Subject: [PATCH 6/8] Resolve conflicts --- Task1.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Task1.js b/Task1.js index a39f99d..e398473 100644 --- a/Task1.js +++ b/Task1.js @@ -1,6 +1,6 @@ function GroupByKey(array,key) { - var tempData = {}; + tempData = {}; for ( var index=0; index Date: Wed, 21 Sep 2022 18:25:13 +0500 Subject: [PATCH 7/8] Task2 is completed with reduce function --- Task2.js | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 Task2.js diff --git a/Task2.js b/Task2.js new file mode 100644 index 0000000..4a4efa8 --- /dev/null +++ b/Task2.js @@ -0,0 +1,24 @@ +const array=[ + {id:1,name:"Bilal", city:"Lahore"}, + {id:1,name:"Bilal", city:"Lahore"}, + {id:3,name:"Hafsa", city:"Karachi"}, + {id:4,name:"Rehan", city:"Lahore"}, + {id:5,name:"Saqib", city:"Karachi"}, + {id:6,name:"Farhan", city:"Islamabad"} +]; +const key='city'; + +function GroupByKey(arr,key) { + const tempData=arr.reduce((acc,cv)=>{ + if(!acc[cv[key]]){ + acc[cv[key]]=[] + } + acc[cv[key]].push(cv) + tempobj=acc + return acc + },{}); + return tempobj + +} + +console.log(GroupByKey(array,key)) From 97f9416b49f011697ca1bbebaf80a543de6c13b2 Mon Sep 17 00:00:00 2001 From: SaadOcloud Date: Fri, 23 Sep 2022 10:36:13 +0500 Subject: [PATCH 8/8] conflicts resolve --- Task1.js | 18 ++++++++++-------- Task2.js | 13 +++++++------ 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/Task1.js b/Task1.js index e398473..13014e6 100644 --- a/Task1.js +++ b/Task1.js @@ -1,15 +1,17 @@ function GroupByKey(array,key) { - tempData = {}; + const tempData = {}; - for ( var index=0; index{ - if(!acc[cv[key]]){ - acc[cv[key]]=[] + var tempobj=[]; + arr.reduce((accumulator,currentvalue)=>{ + if(!accumulator[currentvalue[key]]){ + accumulator[currentvalue[key]]=[] } - acc[cv[key]].push(cv) - tempobj=acc - return acc + accumulator[currentvalue[key]].push(currentvalue) + tempobj=accumulator + return accumulator },{}); return tempobj