title: MobX - Replacing item in observable array?
body: <p>Please correct me if I am wrong, but currently this is not possible using replace, as replace would replace the entire observable array and map should be used instead?</p>
  
  <p>I have an observable array like this:</p>
  
  <pre><code>@observable questionsList = [];
  </code></pre>
  
  <p>On server call it gets populated with 2 objects, each with a distinct <code>id</code> field, so it'll look like this:</p>
  
  <pre><code>@observable questionsList = [
                               {id: 1,
                                question: "Is the earth flats?",
                                answer: "Some long answer here..."
                               {id: 2,
                                question: "Does the moon have life?"}
                                answer: "Some long answer here..."}
                              ];
  </code></pre>
  
  <p>So the question with id of <code>1</code> has a typo which needs fixing, should be <code>Is the earth flat?</code></p>
  
  <p>Given the following:</p>
  
  <pre><code>const newQuestionId = 1;
  const newQuestion = "Is the earth flat?"
  const oldQuestion = this.questionsList.find(question =&gt; question.id === newQuestionId);
  oldQuestion.replace(newQuestion) // Would be nice if this syntax worked
  </code></pre>
  
  <p>Now I have the correct <code>oldQuestion</code> but how can I replace it in the  <code>questionList</code> array with the new question? I tried replace, but it didn't work. Is map the only way? If so I am not sure how to get map to work as I've only worked with observable arrays.</p>
  
  <p>How can I accomplish this using MobX?</p>