重点: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 表格仅在浏览器中加载

另请参阅