Which browsers other than Firefox support Array.forEach()? Mozilla say it's an extension to the standard and I realise it's trivial to add to the array prototype, I'm just wondering what other browsers support it?
7 Answers
I just checked this for another question: JavaScript for...in vs for.
On kangax's ECMAScript 5 compatibility table, Array.forEach gets a 'yes' for all browsers except IE8.
As of September 2011, IE browser share on desktop devices is less than 40%, and at least 8% of browsers are IE 9.
In other words, Array.forEach is now supported by around 70% of desktop browsers. Obviously, this figure varies considerably, depending on territory and other factors -- some regions or countries (such as Brasil) have a higher proportion of Chrome users, for example, and some (such as China) have far more users on IE6 and IE8.
I haven't checked, but mobile support (on WebKit and Opera browsers) may be even higher.
- 1
- 1
- 14,775
- 6
- 54
- 64
-
1Which is still enough to be a problem in this day and age :-( go for jquery each instead. – Soeren L. Nielsen Feb 03 '15 at 07:35
The JavaScript article of Wikipedia lists the JS versions by browser. forEach is part of JavaScript 1.6. So it is supported indeed by most browsers, except Opera 9.02 (which I just tested). Opera 9.5 (which I just installed!) supports it, along with indexOf for Array.
Surprisingly, it is not official. I don't see its support in the page ECMAScript support in Opera 9.5. Perhaps it is an overlook or perhaps only a partial support they don't want to advertise.
- 40,535
- 6
- 96
- 134
-
5Wikipedia doesn't list the versions anymore, and I can't find a full list in any of the articles. – phihag Jun 11 '12 at 13:12
Since IE doesn't support it (not even v8), I use jQuery.each() -- http://docs.jquery.com/Utilities/jQuery.each
- 3,154
- 3
- 26
- 24
-
6
-
-
The best option is to avoid Array.forEach indeed, since we know not all browsers support it – GôTô Jan 13 '14 at 09:05
-
1or define it by yourselves: http://smthngsmwhr.wordpress.com/2012/10/22/higher-order-javascript-short-journey-into-the-land-of-functional-programming/ – ses Jun 06 '14 at 17:06
The Microsoft AJAX client library adds this to the Array prototype so if you have that client library in your site then you'll have it for sure.
- 24,927
- 18
- 98
- 150
-
Does this change the Array implementation in IE? last time I checked, extending the Array object in IE failed. – scunliffe Oct 03 '08 at 18:21
-
I'd think so, I hardly think the MS AJAX team would make IE break :P – Aaron Powell Oct 03 '08 at 21:47
If you need all browsers to support this and other JavaScript 1.6 to 1.8 functions, I would suggest using the customizable jPaq library. The functions are implemented in the way that was suggested by Mozilla.
- 1,247
- 1
- 7
- 4
I have checked on caniuse.com and it looks like all browsers support foreach except Opera Mini which has support info as ?Support unknow. If you're interested you can use this link to check the browser support for any features. https://caniuse.com/?search=foreach
- 1,401
- 1
- 16
- 22
- 187
- 1
- 1
- 8