Necesito elegir algunas claves y valores (solo nombre y edad) de la siguiente matriz de objetos.
const studentList = [{"id": "1", "name": "s1". "age": 10, "gender" : "m", "subject": "Maths"},{"id": "2", "name": "s2". "age": 11, "gender" : "m", "subject": "Maths"}]Puedo lograr eso usando map y lodash pick como se muestra a continuación.
let nameAndAgeList = studentList.map(student => pick(student, ["name", "age"]));Pero, ¿hay alguna manera más fácil con solo usar el mapa? Sé que solo podemos recuperar una propiedad como se muestra a continuación.
let nameArr = (studentList).map(({ name }) => name);Pero, ¿cómo podemos recuperar tanto el nombre como la edad usando el mapa? O cualquier forma más fácil y mejor con es6+
La asignación de la studentList no es válida (contiene puntos en lugar de comas). Corregido en el fragmento. Puede mapear el name y la age de una sola vez usando:
const studentList = [ {"id": "1", "name": "s1", "age": 10, "gender" : "m", "subject": "Maths"}, {"id": "2", "name": "s2", "age": 11, "gender" : "m", "subject": "Maths"}]; console.log( studentList.map( ({name, age}) => ({name, age}) ) );Puede recuperar varias propiedades, como en el siguiente ejemplo.
const studentList = [{"id": "1", "name": "s1", "age": 10, "gender" : "m", "subject": "Maths"},{"id": "2", "name": "s2", "age": 11, "gender" : "m", "subject": "Maths"}] let nameArr = (studentList).map(({ name, age }) => { return {'name': name, 'age': age} }); console.log(nameArr)