title: Finding the index of an object within an array efficiently
body: <p>I am trying to find the index of an object within an array. I know there is a way to do this with underscore.js but I am trying to find an efficient way without underscore.js. Here is what I have :</p>
  
  <pre><code>var arrayOfObjs = [{
    "ob1": "test1"
  }, {
    "ob2": "test1"
  }, {
    "ob1": "test3"
  }];
  
  function FindIndex(key) {
    var rx = /\{.*?\}/;            // regex: finds string that starts with { and ends with }
    var arr = [];                  // creates new array
    var str = JSON.stringify(arrayOfObjs);          // turns array of objects into a string
    for (i = 0; i &lt; arrayOfObjs.length; i++) {      // loops through array of objects
      arr.push(str.match(rx)[0]);                   // pushes matched string into new array
      str = str.replace(rx, '');                    // removes matched string from str
    }
    var Index = arr.indexOf(JSON.stringify(key));   // stringfy key and finds index of key in the new array
    alert(Index);
  }
  
  FindIndex({"ob2": "test1"});
  </code></pre>
  
  <p><a href="https://jsfiddle.net/g30myfnh/">JSFIDDLE</a></p>
  
  <p>This works but I am afraid it isn't very efficient. Any alternatives?</p>