title: Is it possible to create computed arrays with Knockout.js
body: <p>I have a knockout.js <code>ViewModel</code> with an observable array:</p>
  
  <pre><code>function ItemsViewModel() {
      this.data = ko.observableArray([
          new Item(1, "One description"),
          new Item(2, "Two description"),
          new Item(3, "Three description"),
          // ... etc
      ]);
  }
  </code></pre>
  
  <p>The Item looks like this:</p>
  
  <pre><code>function Item(id, name) {
      this.id = ko.observable(id);
      this.name = ko.observable(name);
  };
  </code></pre>
  
  <p>Based on the observable array I have created in my <code>ViewModel</code> I would like to create a second computed array which would look like this:</p>
  
  <pre><code>function ItemsViewModel() {
      this.data = ko.observableArray([
          new Item(1, "One description"),
          new Item(2, "Two description"),
          new Item(3, "Three description"),
          // ... etc
      ]);
  
      this.computedData = // here I want to create a computed array based on the values
                          // of this.data
  }
  </code></pre>
  
  <p>I cannot seem to find an example for how to create this computed array anywhere in the knockout.js documentation. Could you please give me an example of how to turn the first array into a computed array of the form:</p>
  
  <pre><code>this.computedData = [
      { dataItem: data[0].name + ' ' + data[0].id },
      { dataItem: data[1].name + ' ' + data[1].id },
      // ... etc.
  ]
  </code></pre>