Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>Test Page</title>
<style>
  body {
    font-family: sans-serif;
  }
</style>
</head>
<body>
</body>
</html>
 
(function() {
  
  var data = {
  "_index": "test",
  "_type": "news",
  "_source": {
      "partnerName": "propertyFile 9",
      "relatedSources": "null",
      "entityCount": "50",
      "Categories": {
          "Types": {
              "Events": [{
                  "count": 1,
                  "term": "Time",
                  "Time": [{
                      "term": "Dec 9",
                      "Dec_9": [{
                          "count": 1,
                          "term": "2012"
                      }]
                      }]
                  }, {
                  "count": 4,
                  "term": "News",
                  "News": [{
                      "term": "Germany",
                      "Germany": [{
                          "count": 1,
                          "term": "Election"
                      }],
                      "currency": "Euro (EUR)"
                  }, {
                      "term": "Egypt",
                      "Egypt": [{
                          "count": 1,
                          "term": "Revolution"
                      }]
                      }]
                  }]
              }
      }
  }};
  
  function findProps(name, data, results) {
    var key, value;
    
    // If we weren't given a results array, create one
    if (Object.prototype.toString.call(results) !== "[object Array]") {
      results = [];
    }
    
    // Is it an object (including an array)?
    if (typeof data === "object") {
      // Yes, loop through its properties
      for (key in data) {
        // Does it have an "own" property with this name?
        // (I assume you only want "own" properties, not
        // properties inherited from the prototype chain).
        if (data.hasOwnProperty(key)) {
          // Yes, get the value
          value = data[key];
          
          // Is this our property?
          if (key === name) {
            // Remember it
            results.push(value);
          }
          
          // Recurse into the value?
          if (typeof value === "object") {
            // Yes
            findProps(name, value, results);
          }
        }
      }
    }
    
    // All done
    return results;
  }
  
  var terms = findProps("term", data);
  display("Found 'term' " + terms.length +
          " time(s): " + terms.join(", "));
  
  function display(msg) {
    var p = document.createElement('p');
    p.innerHTML = String(msg);
    document.body.appendChild(p);
  }
})();
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
anonymouspro
0viewers