41

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?

slashnick
  • 26,167
  • 10
  • 55
  • 67

7 Answers7

20

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.

Community
  • 1
  • 1
Sam Dutton
  • 14,775
  • 6
  • 54
  • 64
12

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.

PhiLho
  • 40,535
  • 6
  • 96
  • 134
  • 5
    Wikipedia 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
12

Since IE doesn't support it (not even v8), I use jQuery.each() -- http://docs.jquery.com/Utilities/jQuery.each

Joubert Nel
  • 3,154
  • 3
  • 26
  • 24
4

All modern browsers but IE.

Sergey Ilinsky
  • 31,255
  • 9
  • 54
  • 56
1

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.

Aaron Powell
  • 24,927
  • 18
  • 98
  • 150
0

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.

Clarence Fredericks
  • 1,247
  • 1
  • 7
  • 4
0

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

Shankar Ganesh Jayaraman
  • 1,401
  • 1
  • 16
  • 22
jac wida
  • 187
  • 1
  • 1
  • 8