Tengo una variedad de objetos.
const array = [ {a: 1, b:4}, {a: 2, b:5}, {a: 3, b:6}, ]Y necesito encontrar un elemento en la matriz y recibir solo un cierto valor de la propiedad del objeto. Pero, ¿cómo puedo hacerlo con el filtro. Traté de hacerlo de esta manera Este no funcionó
const b_Value = array.filter(element => element.a === 3).b¿Es posible obtener valor en el filtro, no en el elemento en sí? También traté de usar if y return pero tampoco funcionó
.filter() devuelve una matriz , no un solo elemento. Podrías indexar esa matriz:
const b_Value = array.filter(element => element.a === 3)[0].b; O quizás use .find() :
const b_Value = array.find(element => element.a === 3).b;Por supuesto, en cualquier caso querrá definir cómo debe manejarlo si (1) ningún resultado coincide o (2) varios resultados coinciden.
Por ejemplo, puede usar el encadenamiento opcional para la posibilidad de que no haya resultados coincidentes:
const b_Value = array.find(element => element.a === 3)?.b; En cuyo caso, b_Value podría ser null .