files/en-us/web/api/highlightregistry/foreach/index.md
{{APIRef("CSS Custom Highlight API")}}
The forEach() method of the {{domxref("HighlightRegistry")}} interface executes a provided function once for each {{domxref("Highlight")}} object in the registry, in insertion order.
HighlightRegistry is a {{jsxref("Map")}}-like object, so this is similar to using {{jsxref("Map.forEach()")}}.
forEach(callbackFn)
forEach(callbackFn, thisArg)
callback
Highlight object, taking three arguments:
highlight
name
registry
forEach() was called upon.thisArg
this when executing callbackFn.None ({{jsxref("undefined")}}).
The code snippet below shows how create a new highlight with two ranges, and then log the ranges by using the forEach() method:
function logAllHighlights(highlight, name) {
console.log(`Highlight ${name} exists in the registry`, highlight);
}
const customHighlight1 = new Highlight();
const customHighlight2 = new Highlight();
const customHighlight3 = new Highlight();
CSS.highlights.set("custom-highlight-1", customHighlight1);
CSS.highlights.set("custom-highlight-2", customHighlight2);
CSS.highlights.set("custom-highlight-3", customHighlight3);
CSS.highlights.forEach(logAllHighlights);
{{Specifications}}
{{Compat}}