Highlight: entries() method
Baseline 2025Newly available
Since June 2025, this feature works across the latest devices and browser versions. This feature might not work in older devices or 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
entries()
Parameters
None.
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:
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:
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® 2026 Language Specification # sec-set.prototype.entries |