title: KnockoutJS ObservableArray data grouping
body: <p>Does KnockoutJS have a feature whereas I could take something like:</p>
  
  <pre><code>    var myArray = ko.observableArray([
        { name: "Jimmy", type: "Friend" },
        { name: "George", type: "Friend" },
        { name: "Zippy", type: "Enemy" }
      ]);
  </code></pre>
  
  <p>Then select distinct on the "type" field, producing a result which looks like this:</p>
  
  <pre><code>(pseudo code)
      var distinct = myArray.distinct('type')
        // Returns array of two arrays
        //  distinct[0] is an array of type=Friend
        //  distinct[1] is an array of type=Enemy 
  </code></pre>
  
  <p>I'm aware of ko.utils.arrayGetDistinctValues, but that doesn't exactly do what I want. I'm also aware that I could write a few loops using ko.utils.arrayGetDistinctValues to get what I want, I'm just wondering if there is something else baked into KnockoutJS that I'm overlooking.</p>