mozilla

Compare Revisions

Array.prototype.some()

Change Revisions

Revision 29725:

Revision 29725 by Waldo on

Revision 29726:

Revision 29726 by Waldo on

Title:
Array some method
Array some method
Slug:
JavaScript/Reference/Global_Objects/Array/some
JavaScript/Reference/Global_Objects/Array/some
Tags:
JavaScript, ECMAScript5, "JavaScript 1.6"
JavaScript, ECMAScript5, "JavaScript 1.6"
Content:

Revision 29725
Revision 29726
n41    <p>n41    <pre class="eval">
42      <code>some(<i>callback</i>{{mediawiki.external(', &lt;i&gt;42var <i>someElementPassed</i> = <i>array</i>.some(<i>callback</i>[
>thisObject&lt;/i&gt;')}})</code>>, <i>thisObject</i>]);
43    </p>43</pre>
nn79    <h3 name="Compatibility">
80      Compatibility
81    </h3>
82    <p>
83      <code>some</code> is a JavaScript extension to the ECMA-262
 > standard; as such it may not be present in other implementations
 > of the standard. You can work around this by inserting the follo
 >wing code at the beginning of your scripts, allowing use of <code
 >>some</code> in ECMA-262 implementations which do not natively su
 >pport it.
84    </p>
85    <pre class="eval">
86if (!Array.prototype.some)
87{
88  Array.prototype.some = function(fun /*, thisp*/)
89  {
90    var len = this.length;
91    if (typeof fun != "function")
92      throw new TypeError();
93 
94    var thisp = arguments[1];
95    for (var i = 0; i &lt; len; i++)
96    {
97      if (i in this &amp;&amp;
98          fun.call(thisp, this[i], i, this))
99        return true;
100    }
101 
102    return false;
103  };
104}
105</pre>
n88    <pre>n115    <pre class="eval">
n92passed = [2, 5, 8, 1, 4].some(isBigEnough);n119var passed = [2, 5, 8, 1, 4].some(isBigEnough);
t94passed = [12, 5, 8, 1, 44].some(isBigEnough);t121passed = [12, 5, 8, 1, 4].some(isBigEnough);

Back to History