Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The StylePropertyMapReadOnly.forEach() method executes a provided function once for each element of StylePropertyMapReadOnly.


// Arrow function
forEach((currentValue) => { /* … */ } )
forEach((currentValue, index) => { /* … */ } )
forEach((currentValue, index, array) => { /* … */ } )

// Callback function
forEach(callbackFn, thisArg)

// Inline callback function
forEach(function (currentValue) { /* … */ })
forEach(function (currentValue, index) { /* … */ })
forEach(function (currentValue, index, array) { /* … */ })
forEach(function (currentValue, index, array) { /* … */ }, thisArg)



The function to execute for each element, taking three arguments:


The value of the current element being processed.

index Optional

The index of the current element being processed.

array Optional

The StylePropertyMapReadOnly that forEach() is being called on.

thisArg Optional

Value to use as this (i.e., the reference Object) when executing callback.

Return value

None (undefined).


Here is an example of using forEach() on a retrieved Element.computedStyleMap().

// get a button element
const buttonEl = document.querySelector('.example');

// we can retrieve all computed styles with `computedStyleMap`
const allComputedStyles = buttonEl.computedStyleMap();

// forEach will allow us to run code over each prop/val pair
allComputedStyles.forEach((elem, index, arr) => {
  // code to run for each pair


No specification found

No specification data found for api.StylePropertyMapReadOnly.forEach.
Check for problems with this page or contribute a missing spec_url to mdn/browser-compat-data. Also make sure the specification is included in w3c/browser-specs.

Browser compatibility

BCD tables only load in the browser