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