Movatterモバイル変換


[0]ホーム

URL:


MDN Web Docs

Esta página ha sido traducida del inglés por la comunidad. Aprende más y únete a la comunidad de MDN Web Docs.

Array.prototype.flatMap()

BaselineWidely available

El métodoflatMap() primero mapea cada elemento usando una función de mapeo, luego aplana el resultado en una nueva matriz. Es idéntico a unmap seguido de unflattende profundidad 1, peroflatMap es a menudo útil y la fusión de ambos en un método es ligeramente más eficiente.

Pruébalo

const arr1 = [1, 2, 1];const result = arr1.flatMap((num) => (num === 2 ? [2, 2] : 1));console.log(result);// Expected output: Array [1, 2, 2, 1]

Sintaxis

var new_array = arr.flatMap(function callback(currentValue[, index[, array]]) {    // return element for new_array}[, thisArg])

Parámetros

callback

Función que produce un elemento de la nueva matriz, tomando tres argumentos:

currentValue

El elemento actual que se procesa en la matriz.

indexOpcional

El índice del elemento actual que se procesa en la matriz.

arrayOpcional

La matrizmap fue llamada.

thisArgOpcional

Valor para usar comothis al ejecutarcallback.

Valor de retorno

Una nueva matriz con cada elemento es el resultado de la función de devolución de llamada y se aplana a una profundidad de 1.

Descripción

VerArray.prototype.map() para una descripción detallada de la función de devolución de llamada. El métodoflatMap es idéntico amap seguido de una llamada aflatten de profundidad 1.

Ejemplos

map yflatMap

js
var arr1 = [1, 2, 3, 4];arr1.map((x) => [x * 2]);// [[2], [4], [6], [8]]arr1.flatMap((x) => [x * 2]);// [2, 4, 6, 8]// solo un nivel es aplanadoarr1.flatMap((x) => [[x * 2]]);// [[2], [4], [6], [8]]

//=> [1, 2, 3, 4, 5, 6, 7, 8, 9]

Alternativa

reduce yconcat

js
var arr1 = [1, 2, 3, 4];arr1.flatMap((x) => [x * 2]);// es equivalente aarr1.reduce((acc, x) => acc.concat([x * 2]), []);// [2, 4, 6, 8]

//=> [1, 2, 3, 4, 5, 6, 7, 8, 9]

Polyfill

Este polyfill necesitaArray.prototype.flat polyfill

js
if (!Array.prototype.flatMap) {  Array.prototype.flatMap = function () {    return Array.prototype.map.apply(this, arguments).flat(1);  };}

Especificaciones

Specification
ECMAScript® 2026 Language Specification
# sec-array.prototype.flatmap

Compatibilidad con navegadores

Ver también

Help improve MDN

Learn how to contribute.

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp