title: Find by ID in KnockOutJS
body: <p>Given the following, how do I get id 10 back out?</p>
  
  <pre><code>function ChildListViewModel()
  {
      var self = this;
      self.children = ko.observableArray([]);   
  
      self.children.push({id:20,name:"Jake"});
      self.children.push({id:10,name:"Jake"});
  
      self.find = function(id)
      {   
          console.log(self.children().length);
          setTimeout(function(){console.log(self.children().length);}, 500);
          found = ko.utils.arrayFirst(self.children(), function(child) {
              return child.id() === id;
          });
  
          console.log(found);
  
          return found;
      }
  
  }
  </code></pre>
  
  <p>I want to do something like</p>
  
  <pre><code>ChildVM.find(10);
  </code></pre>
  
  <p>All attempts using <code>ko.utils.arrayFirst</code> and <code>ko.utils.arrayForEach</code> have failed me.</p>
  
  <p><strong>EDIT</strong></p>
  
  <p>This now works, see selected answers.</p>
  
  <p>Issues around loading order and AJAX meant this was not working as it should do.</p>