重点:entries() 方法
的 entries()
方法 Highlight
接口返回一个新的 迭代器 对象,该对象包含一个 [range, range]
数组,用于 Highlight
对象中的每个 Range
对象,以插入顺序排列。
Highlight
是一个类似于 Set
的对象,因此这类似于使用 Set.entries()
.
语法
js
entries()
返回值
一个新的迭代器对象,包含一个 [range, range]
数组,用于给定 Highlight
中的每个 Range
对象,以插入顺序排列。
示例
下面的代码片段展示了如何使用 entries()
方法返回的迭代器创建包含两个范围的新突出显示,然后记录范围。
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]
以下代码示例展示了如何使用 for...of
循环遍历突出显示中的范围。
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
}
规范
规范 |
---|
ECMAScript 语言规范 # sec-set.prototype.entries |
浏览器兼容性
BCD 表格仅在浏览器中加载