Highlight: entries() method

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

The entries() method of the Highlight interface returns a new Iterator object that contains an array of [range, range] for each Range object in the Highlight object, in insertion order.

Highlight is a Set-like object, so this is similar to using Set.entries().

Syntax

js
entries()

Return value

A new iterator object that contains an array of [range, range] for each Range object in the given Highlight, in insertion order.

Examples

The code snippet below shows how create a new highlight with two ranges, and then log the ranges by using the iterator returned by the entries() method:

js
const text = new Text("Time is an illusion. Lunchtime doubly so.");

const range1 = document.createRange();
range1.setStart(text, 0);
range1.setEnd(text, 4);

const range2 = document.createRange();
range2.setStart(text, 21);
range2.setEnd(text, 30);

const myHighlight = new Highlight();
myHighlight.add(range1);
myHighlight.add(range2);

const iter = myHighlight.entries();

console.log(iter.next().value); // [Range, Range]
console.log(iter.next().value); // [Range, Range]

The following code example shows how to iterate over the ranges in a highlight by using a for...of loop:

js
const text = new Text("Time is an illusion. Lunchtime doubly so.");

const range1 = document.createRange();
range1.setStart(text, 0);
range1.setEnd(text, 4);

const range2 = document.createRange();
range2.setStart(text, 21);
range2.setEnd(text, 30);

const highlight = new Highlight();
highlight.add(range1);
highlight.add(range2);

for (const [range] of highlight.entries()) {
  console.log(range.toString());
  // Time
  // Lunchtime
}

Specifications

Specification
ECMAScript® 2025 Language Specification
# sec-set.prototype.entries

Browser compatibility

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
entries

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
In development. Supported in a pre-release version.
In development. Supported in a pre-release version.
No support
No support
See implementation notes.

See also