<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#ffffff">
    In addition, here's Erlang's one, which has rich lists library --
    <a class="moz-txt-link-freetext" href="http://www.erlang.org/doc/man/lists.html">http://www.erlang.org/doc/man/lists.html</a> Some/most methods are
    already implemented in JS of course (though, by different names),
    but we can take missing, but needed (and thus implemented in many JS
    libs) methods.<br>
    <br>
    Dmitry.<br>
    <br>
    On 11.07.2011 0:46, Dmitry A. Soshnikov wrote:
    <blockquote cite="mid:4E1A0F8A.9070206@gmail.com" type="cite">
      <meta http-equiv="content-type" content="text/html;
        charset=ISO-8859-1">
      Here I put some extensions for arrays standard library (separated
      from this thread: <a moz-do-not-send="true"
        class="moz-txt-link-freetext"
href="https://mail.mozilla.org/pipermail/es-discuss/2011-July/015856.html">https://mail.mozilla.org/pipermail/es-discuss/2011-July/015856.html</a>
      where Array.of and Array.from were considered).<br>
      <br>
      We can consider also the following (as a first step):<br>
      <br>
      <b>- Array.prototype.remove(value, all)</b><br>
      <br>
      [1, 2, 3, 2].remove(2); // [1, 3, 2]<br>
      [1, 2, 3, 2].remove(2, true); // [1, 3]<br>
      <br>
      (seems this function is required more than Array.of, because at
      least I saw it implemented in all frameworks and used it myself).<br>
      <br>
      <b>- Array.prototype.subtract(array)</b><br>
      <br>
      [1, 2, 3, 4].subtract([2, 4]); // [1, 3]<br>
      <br>
      <b>- Array.seq(from, to)</b> // or Array.range(from, to)<br>
      <br>
      Array.seq(1, 5); // [1, 2, 3, 4, 5]<br>
      <br>
      <b>- Array.build(n, fn)</b><br>
      <br>
      Array.build(5, function(index) index + 1); // [1, 2, 3, 4, 5]  <br>
      <br>
      <b>- Array.min(array), Array.max(array)</b> (can be implemented
      with Math.max/min and apply though)<br>
      <br>
      Array.min = (array) -> Math.min.apply(Math, array)<br>
      <br>
      <b>- Array.prototype.split(n)</b><br>
      <br>
      ["a", "b", "c", "d", "e"].split(3) // [["a", "b", "c"], ["d", "e",
      "f"]]<br>
      <br>
      Perhaps even to build objects from lists of keys and values (this
      function is usually called as `zip`):<br>
      <br>
      <b>- Object.fromArrays(["a", "b", "c"], [1, 2, 3]);</b> // {a: 1,
      b: 2, c: 3}<br>
      <br>
      <b>- Array.prototype.unique</b><br>
      <br>
      [1, 3, 2, 5, 5, 3].unique(); // [1, 3, 2, 5]<br>
      <br>
      Thus, all names of methods can be discussed.<br>
      <br>
      Dmitry.<br>
    </blockquote>
    <br>
  </body>
</html>