Back to Content

RTCStatsReport: values() method

files/en-us/web/api/rtcstatsreport/values/index.md

latest1.7 KB
Original Source

{{APIRef("WebRTC")}}

The values() method of the {{domxref("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 {{jsxref("Map.prototype.values()")}}.

Syntax

js-nolint
values()

Parameters

None.

Return value

A new iterable iterator object.

Examples

This example shows how to iterate through a {{domxref("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

{{Specifications}}

Browser compatibility

{{Compat}}

See also

  • {{jsxref("Map.prototype.values()")}}
  • {{domxref("RTCStatsReport.keys()")}}
  • {{domxref("RTCStatsReport.entries()")}}