# Vaishali Bhoyar # Question 1 - MergeSort ```javascript= function merge(arr,mid,l,h){ let merged=[]; let k=0; let i=l; let j=mid+1 while(i<=mid && j<=h){ if(arr[i]<=arr[j]){ merged[k++]= arr[i++]; } else{ merged[k++]=arr[j++]; } } while(i<=mid){ merged[k++]=arr[i++]; } while(j<=h){ merged[k++]=arr[j++]; } for(let i=0,j=l; i<merged.length; i++, j++){ arr[j]=merged[i]; } } function divide(arr,l,h){ if(l>=h){ return; } let mid = Math.floor(l+((h-l)/2)); divide(arr,l,mid); divide(arr,mid+1,h); merge(arr,mid,l,h); } ``` # Question 2: ```javascript= const studentArr = [ { age: 10, name: 'Payal1', section: 'A'}, { age: 10, name: 'Payal2', section: 'A'}, { age: 11, name: 'Payal3', section: 'A'}, { age: 10, name: 'Payal4', section: 'B'} ] // students whoes age >=12 let students = studentArr.filter((elem)=>{ if(elem.age>=12){ return elem.name; } }) // { 'Payal1': 10, 'Payal2': 11, 'Payal3': 12, 'Payal4': 13, } let obj = {}; studenArr.forEach((elem)=>{ obj[elem.name]=elem.age; }); { A: { 10: ['Payal1', 'Payal2'], 11: ['Payal3'] }, B: { 10: ['Payal4'] } } function data(arr){ let obj={}; arr.forEach((elem)=>{ if(obj[elem.section]===undefined){ obj[elem.section]={}; } }) studentArr.forEach((elem)=>{ for(let key in obj){ if(key === elem.section){ if(obj[key][elem.age]===undefined){ obj[key][elem.age]=[elem.name]; } else{ obj[key][elem.age].push(elem.name); } } } }) return obj; } ``` # Question 3: