Skip to content

Commit e55b865

Browse files
authored
JS Problems and Solution
JS Problems and Solution
1 parent a7687e3 commit e55b865

7 files changed

+140
-0
lines changed

JS/GroupBykey_problemPNG.PNG

20.1 KB
Loading

JS/Groupbykey.js

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
function GroupByKey(array,key)
2+
{
3+
const tempData = {};
4+
5+
for ( var index=0; index<array.length; index++)
6+
{
7+
8+
if (!tempData[array[index][key]])
9+
{
10+
tempData[array[index][key]]=[];
11+
}
12+
13+
tempData[array[index][key]].push(array[index])
14+
15+
}
16+
return tempData
17+
}
18+
const array=[
19+
{id:1,name:"Bilal", city:"Lahore"},
20+
{id:1,name:"Bilal", city:"Lahore"},
21+
{id:3,name:"Hafsa", city:"Karachi"},
22+
{id:4,name:"Rehan", city:"Lahore"},
23+
{id:5,name:"Saqib", city:"Karachi"},
24+
{id:6,name:"Farhan", city:"Islamabad"}
25+
26+
];
27+
28+
const key='city';
29+
30+
console.log(GroupByKey(array,key))

JS/Groupbykey_Reduce.js

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
const array=[
2+
{id:1,name:"Bilal", city:"Lahore"},
3+
{id:1,name:"Bilal", city:"Lahore"},
4+
{id:3,name:"Hafsa", city:"Karachi"},
5+
{id:4,name:"Rehan", city:"Lahore"},
6+
{id:5,name:"Saqib", city:"Karachi"},
7+
{id:6,name:"Farhan", city:"Islamabad"}
8+
];
9+
const key='city';
10+
11+
function GroupByKey(arr,key) {
12+
var tempobj=[];
13+
arr.reduce((accumulator,currentvalue)=>{
14+
if(!accumulator[currentvalue[key]]){
15+
accumulator[currentvalue[key]]=[]
16+
}
17+
accumulator[currentvalue[key]].push(currentvalue)
18+
tempobj=accumulator
19+
return accumulator
20+
},{});
21+
return tempobj
22+
23+
}
24+
25+
console.log(GroupByKey(array,key))

JS/NextValue.js

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
const array=[
2+
{id:'one',next:"two", value:null},
3+
{id:'two',next:"three", value:null},
4+
{id:'three',next: "four", value:null},
5+
{id:'four',next: null, value:null}
6+
];
7+
var result=[]
8+
9+
function updatearray(arr){
10+
for(var i=arr.length-1; i>-1;i--){
11+
updatevalue(arr[i])
12+
}
13+
}
14+
15+
function updatevalue(element){
16+
if(element.next==null){
17+
return (result.unshift(element))
18+
}
19+
else{
20+
for(var j in array){
21+
if(result[0].id==array[j].next){
22+
array[j].value=result[0]
23+
result.unshift(array[j])
24+
break
25+
}
26+
}
27+
}
28+
}
29+
updatearray(array)
30+
result=JSON.stringify(result);
31+
console.log(result)
32+
// console.log(result[0].value)

JS/NextValue_M2.js

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
const array=[
2+
{id:'one',next:"two", value:null},
3+
{id:'two',next:"three", value:null},
4+
{id:'three',next: null, value:null}
5+
];
6+
var result=[]
7+
function updatevalue(array){
8+
if(result.length==0){
9+
for(var i in array){
10+
if(array[i].next==null){
11+
result.unshift(array[i])
12+
array.splice(array[i],1)
13+
}
14+
}
15+
}
16+
for(var j in array){
17+
if(result[0].id==array[j].next){
18+
array[j].value=result[0]
19+
result.unshift(array[j])
20+
array.splice(array[j],1)
21+
updatevalue(array)
22+
break
23+
}
24+
}
25+
26+
}
27+
updatevalue(array.reverse())
28+
29+
console.log(result)

JS/Nextvalue_Recursive.js

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
const array=[
2+
{id:'one',next:"two", value:null},
3+
{id:'two',next:"three", value:null},
4+
{id:'three',next: "four", value:null},
5+
{id:'four',next: null, value:null}
6+
];
7+
var nextindex=0
8+
function updatearray(array){
9+
updatevalue(array,0)
10+
function updatevalue(array,index){
11+
if(array[index].next==null){
12+
return array[index]
13+
}
14+
else{
15+
array[index].value=updatevalue(array,index+1)
16+
return array[index]
17+
}
18+
}
19+
}
20+
21+
updatearray(array)
22+
var arr=array
23+
arr=JSON.stringify(array)
24+
console.log(arr)

JS/Nextvalue_problem.png

156 KB
Loading

0 commit comments

Comments
 (0)