Hola, tengo una variedad de objetos como a continuación,
const arr_obj = [ { children: [{}], type: "type1", updated: "somevalue", }, { children: [{}], type: "type2", updated: "somevalue", }, ]ahora quiero crear una nueva matriz de objetos que tendrá cada objeto como en arr_obj y también agregar una nueva propiedad "deshabilitada", que es un valor booleano establecido en verdadero si el tipo es igual a "tipo2" si no está establecido en falso.
por lo que el resultado esperado es como a continuación
const new_obj = [ { children: [{}], type: "type1", updated: "somevalue", disabled: false, }, { children: [{}], type: "type2", updated: "somevalue", disabled: true, }, ]He intentado como a continuación
const new_obj = React.useMemo(() => { arr_obj.map((arr => ({ ...arr, disabled: arr?.type !== "type2" ? false : true, })) }, [arr_obj] );pero cuando registro new_obj esto no está definido. Podría alguien ayudarme con esto. Soy nuevo en la programación. Gracias.
No está return el resultado de arr_obj.map , por lo que la función devuelve undefined .
O
const new_obj = React.useMemo(() => { return arr_obj.map((arr) => ({ ...arr, disabled: arr?.type !== "type2" ? false : true, })); }, [arr_obj]);o suelta las llaves:
const new_obj = React.useMemo( () => arr_obj.map((arr) => ({ ...arr, disabled: arr?.type !== "type2" ? false : true, })), [arr_obj], );