Highlight: entries() method
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
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 Language Specification # sec-set.prototype.entries |
Browser compatibility
BCD tables only load in the browser