Filtrar objetos de matriz, uso de Array.from()

introducir

Ayer vi el telescopio en casa, vi la sección sobre matrices y mencioné un método de matriz en ES6 Array.from(), que se describe en el libro de la siguiente manera:

El primer argumento de Array.from() es un objeto similar a una matriz, es decir, cualquier estructura iterable.
from() se usa para convertir una estructura similar a una matriz en una instancia de matriz... realiza una copia superficial de una matriz existente

Esto se entiende bien, from() puede convertir Sety Maptipos Arrayy cualquier tipo iterable en matrices. Object.assign()La copia superficial no es difícil de entender. Hay una copia superficial de objetos antes de , por lo que Array.from()no es demasiado tener una matriz.

Lo que me interesa son los dos últimos parámetros:

El segundo argumento de Array.from() es una función de mapeo opcional que aumenta los valores de la nueva matriz sin Array.from().map()crear una matriz intermedia como en la llamada.
También puede aceptar un tercer parámetro opcional para especificar thisel valor en la función de mapeo

La sintaxis general es esta:

Array.from(arrayLike[, mapFn[, thisArg]])

Entonces, este método se puede usar para procesar objetos de matriz y devolver una nueva matriz después de procesar los campos en cada objeto. Suena como una map()réplica de , pero de hecho, es map()el ancestro de .
inserte la descripción de la imagen aquí
No solo se usa para manejar arreglos, tiene que lidiar con arreglos de clases y arreglos. Como se mencionó anteriormente, si usa 类数组map(), necesita Array.from()convertir a un arreglo antes de usar map()el método. Ahora Array.from() le ahorra directamente este paso, que es equivalente a aplicar directamente la función de map() a las matrices de clase.

ejemplo sencillo

Use una función para modificar el nombre del campo en el objeto de matriz: ¡
inserte la descripción de la imagen aquí
cámbielo en la función para mejorar la salida!
inserte la descripción de la imagen aquí
¡Esto en la segunda función apunta a un objeto que personalizamos, que se llama en la función para procesar los elementos de la matriz, y finalmente devuelve una nueva matriz!

Supongo que te gusta

Origin blog.csdn.net/weixin_54858833/article/details/123705691
Recomendado
Clasificación