Highlight: entries() method

基準線 2025
新推出

自 2025 年 6 月起,此功能已在最新的裝置和瀏覽器版本中可用。此功能可能不適用於舊裝置或瀏覽器。

entries() 方法是 Highlight 介面的一個方法,它返回一個新的 迭代器(Iterator) 物件。該物件包含 Highlight 物件中每個 Range 物件的陣列 [range, range],順序按插入順序排列。

Highlight 是一個類似 Set 的物件,因此這與使用 Set.entries() 類似。

語法

js
entries()

引數

無。

返回值

一個新的迭代器物件,其中包含給定 Highlight 中每個 Range 物件的陣列 [range, range],順序按插入順序排列。

示例

下面的程式碼片段展示瞭如何建立一個包含兩個 range 的新高亮,然後使用 entries() 方法返回的迭代器來記錄這些 range。

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 迴圈來迭代高亮中的 range。

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® 2026 語言規範
# sec-set.prototype.entries

瀏覽器相容性

另見