docs.rodeo

MDN Web Docs mirror

Symbol.matchAll

{{JSRef}} 

The Symbol.matchAll static data property represents the well-known symbol Symbol.matchAll. The {{jsxref("String.prototype.matchAll()")}}  method looks up this symbol on its first argument for the method that returns an iterator, that yields matches of the current object against a string.

For more information, see RegExp.prototype[Symbol.matchAll]() and {{jsxref("String.prototype.matchAll()")}} .

{{InteractiveExample("JavaScript Demo: Symbol.matchAll")}} 

const re = /[0-9]+/g;
const str = "2016-01-02|2019-03-07";
const result = re[Symbol.matchAll](str);

console.log(Array.from(result, (x) => x[0]));
// Expected output: Array ["2016", "01", "02", "2019", "03", "07"]

Value

The well-known symbol Symbol.matchAll.

{{js_property_attributes(0, 0, 0)}} 

Examples

Using Symbol.matchAll

const str = "2016-01-02|2019-03-07";

const numbers = {
  *[Symbol.matchAll](str) {
    for (const n of str.matchAll(/[0-9]+/g)) yield n[0];
  },
};

console.log(Array.from(str.matchAll(numbers)));
// ["2016", "01", "02", "2019", "03", "07"]

Specifications

{{Specifications}} 

Browser compatibility

{{Compat}} 

See also

In this article

View on MDN