RTCStatsReport: values() method

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨January 2020⁩.

The values() method of the RTCStatsReport interface returns a new iterator object that can be used to iterate through the values for each element in the RTCStatsReport object, in insertion order.

The values are statistics dictionary objects.

The method is otherwise the same as Map.prototype.values().

Syntax

js
values()

Parameters

None.

Return value

A new iterable iterator object.

Examples

This example shows how to iterate through a RTCStatsReport using the iterator returned by values().

Given a variable myPeerConnection, which is an instance of RTCPeerConnection, the code calls getStats() with await to wait for the statistics report. It then uses a for...of loop, with the iterator returned by values(), to iterate through the dictionary objects in the report. The properties of statistics objects with the type of outbound-rtp are logged to the console (other objects are discarded).

js
const stats = await myPeerConnection.getStats();

for (const stat of stats.values()) {
  if (stat.type !== "outbound-rtp") continue;
  Object.keys(stat).forEach((statName) => {
    console.log(`${statName}: ${report[statName]}`);
  });
}

Specifications

This feature does not appear to be defined in any specification.

Browser compatibility

See also