Advertisement
Guest User

Untitled

a guest
Nov 19th, 2019
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function getValues(
  2.   obj,
  3.   searchValue,
  4.   filterKey,
  5.   filterValue
  6. ) {
  7.   const values = [];
  8.  
  9.   for (const [curr, currElem] of Object.entries(obj)) {      
  10.     if (curr === searchValue && obj[filterKey] === filterValue) {
  11.       values.push(currElem);
  12.     }  
  13.    
  14.     if (typeof currElem == "object") {
  15.       if(currElem === null) continue;
  16.       const deepValues = getValues(
  17.         currElem,
  18.         searchValue,
  19.         filterKey,
  20.         filterValue
  21.       );      
  22.       for (const value of deepValues) {        
  23.         values.push(value);
  24.       }
  25.     }
  26.     // it's something else... probably the value we are looking for
  27.     // compares with `searchValue`
  28.     if (currElem === searchValue) {    
  29.       values.push(curr);
  30.     }
  31.   }
  32.   return values;
  33. }
  34.  
  35. var paths = getValues(data, "idServicio", "tipoProducto", "Movil contrato");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement