Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

208
Views
.map () un mapa de Javascript ES6?

¿Cómo harías esto? Instintivamente, quiero hacer:

 var myMap = new Map([["thing1", 1], ["thing2", 2], ["thing3", 3]]); // wishful, ignorant thinking var newMap = myMap.map((key, value) => value + 1); // Map { 'thing1' => 2, 'thing2' => 3, 'thing3' => 4 }

No he obtenido mucho de la documentación sobre el nuevo protocolo de iteración .

Conozco wu.js , pero estoy ejecutando un proyecto de Babel y no quiero incluir Traceur , del que parece depender actualmente .

Tampoco tengo ni idea de cómo extraer cómo lo hizo fitzgen/wu.js en mi propio proyecto.

Me encantaría una explicación clara y concisa de lo que me estoy perdiendo aquí. ¡Gracias!


Documentos para el mapa ES6 , FYI

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Entonces, .map en sí solo ofrece un valor que le interesa... Dicho esto, hay algunas formas de abordar esto:

 // instantiation const myMap = new Map([ [ "A", 1 ], [ "B", 2 ] ]); // what's built into Map for you myMap.forEach( (val, key) => console.log(key, val) ); // "A 1", "B 2" // what Array can do for you Array.from( myMap ).map(([key, value]) => ({ key, value })); // [{key:"A", value: 1}, ... ] // less awesome iteration let entries = myMap.entries( ); for (let entry of entries) { console.log(entry); }

Tenga en cuenta que estoy usando muchas cosas nuevas en ese segundo ejemplo... ... Array.from toma cualquier iterable (siempre que use [].slice.call( ) , más Conjuntos y Mapas) y convierte en una matriz... ...Los mapas, cuando se coaccionan en una matriz, se convierten en una matriz de matrices, donde el[0] === key && el[1] === value; (básicamente, en el mismo formato con el que prellené mi Mapa de ejemplo, arriba).

Estoy usando la desestructuración de la matriz en la posición del argumento de la lambda, para asignar esos puntos de la matriz a los valores, antes de devolver un objeto para cada el.

Si está utilizando Babel, en producción, necesitará usar el polyfill del navegador de Babel (que incluye "core-js" y el "regenerador" de Facebook).
Estoy bastante seguro de que contiene Array.from .

over 4 years ago · Santiago Trujillo Report

0

Simplemente use Array.from(iterable, [mapFn]) .

 var myMap = new Map([["thing1", 1], ["thing2", 2], ["thing3", 3]]); var newEntries = Array.from(myMap, ([key, value]) => [key, value + 1]); var newMap = new Map(newEntries);
over 4 years ago · Santiago Trujillo Report

0

Solo debe usar el operador Spread :

 var myMap = new Map([["thing1", 1], ["thing2", 2], ["thing3", 3]]); var newArr = [...myMap].map(value => value[1] + 1); console.log(newArr); //[2, 3, 4] var newArr2 = [for(value of myMap) value = value[1] + 1]; console.log(newArr2); //[2, 3, 4]

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!