const array = [ { username: "john", team: "red", score: 5, items: ["ball", "book", "pen"] }, { username: "becky", team: "blue", score: 10, items: ["tape", "backpack", "pen"] }, { username: "susy", team: "red", score: 55, items: ["ball", "eraser", "pen"] }, { username: "tyson", team: "green", score: 1, items: ["book", "pen"] }, ];Tengo la matriz anterior. He filtrado los usuarios que están en el equipo rojo. ¿Hay alguna manera de devolver solo los nombres de usuario de todos los usuarios en el equipo rojo en lugar de devolver la entrada de datos completa? Entonces la salida debería ser "[ John, Susy ]". Tengo este código hasta ahora.
const filterArray = array.filter(user3 => { return user3.team === "red"; })Dado que el resultado del método de filter es una matriz, puede mapear su matriz filtrada y extraer solo la propiedad del nombre de username , así:
const array = [ { username: "john", team: "red", score: 5, items: ["ball", "book", "pen"] }, { username: "becky", team: "blue", score: 10, items: ["tape", "backpack", "pen"] }, { username: "susy", team: "red", score: 55, items: ["ball", "eraser", "pen"] }, { username: "tyson", team: "green", score: 1, items: ["book", "pen"] },]; const filterArray = array.filter(({team}) => team === "red").map(({username}) => username) console.log(filterArray)Puede map la matriz filtrada para que solo tenga la propiedad de nombre de usuario.
const array=[{username:"john",team:"red",score:5,items:["ball","book","pen"]},{username:"becky",team:"blue",score:10,items:["tape","backpack","pen"]},{username:"susy",team:"red",score:55,items:["ball","eraser","pen"]},{username:"tyson",team:"green",score:1,items:["book","pen"]}]; const filterArray = array.filter(user3 => { return user3.team === "red"; }) const onlyNames = filterArray.map(u => u.username) console.log(onlyNames)