# Sumit ```javascript= const orderArr = [ { order_id: "O001", seller_id: "S01", status: 'placed'}, { order_id: "O003", seller_id: "S02", status: 'ofd'}, { order_id: "O002", seller_id: "S01", status: 'dispatched'}, { order_id: "O004", seller_id: "S01", status: 'dispatched'}, ] const orderHash = { S01 : { placed: ["O001"], dispatched: ["O002", "0004"] }, S02: { ofd: ["O003"] } } // O(n) function formatOrders(orderArr) { const response ={} while(orderArr.length){ let seller = orderArr.shift() const orderBySeller = orderArr.filter(val=> val.seller_id == seller.seller_id) orderBySeller.push(seller) const temp = {} while(orderBySeller.length){ let order = orderBySeller.shift() const data = orderBySeller.map(val=>{ if( val.status == order.status) return val.order_id }) temp[`${order.status}`]= data } response[`${seller.seller_id}`] = temp } return response } var obj = {a: 23, g: {rk: 23, the: [32, {tw: 99}]}} var arr = ['g', 'the', 1, 'tw'] function path(obj, arr) { if(arr.length>0){ const x = arr.shift() try{ if(arr.length>1){ obj = obj[x] path(obj,arr) } else{ if(obj[x]) return obj[x] else return false } }catch(e){ console.log(e) return false } }else{ return false } } ```