title: Sorting Array with JavaScript reduce function
body: <p>Often I  study some <code>JavaScript</code> interview questions, suddenly I saw a question about usage of <code>reduce</code> function for sorting an <code>Array</code>, I read about it in <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce" rel="noreferrer">MDN</a> and the usage of it in some <code>medium</code> articles, But sorting an <code>Array</code> is so Innovative:</p>
  
  <pre><code>const arr = [91,4,6,24,8,7,59,3,13,0,11,98,54,23,52,87,4];
  </code></pre>
  
  <p>I thought a lot, but I've no idea about how answer this question, how must be the <code>reduce</code> <code>call back</code> function? what is the <code>initialValue</code> of <code>reduce</code> function? And what are the <code>accumulator</code> and <code>currentValue</code> of <code>call back</code> function of <code>reduce</code>?</p>
  
  <p>And at the end, does this way have some benefits than other sorting algorithms? Or Is it useful to improve other algorithms?</p>