tengo estas configuraciones
type Option = { value: any, label: any }Y
export interface Role { id: number name: string }Entonces tengo roles
const roles:Role[]:[ {id:1,name:'name1'}, {id:2,name:'name2'}, {id:3,name:'name3'} ]Quiero extraer Option[] de ese conjunto de datos de roles. ¿Cómo lo hago en javascript?
En Java podría hacer
roles.stream().map(role->new Option(role.id,role.name)).collect(collectors.toList());Simplemente puede map() los roles a las opciones:
type Option = { value: any; label: any; } interface Role { id: number; name: string; } const roles: Role[] = [ {id: 1, name: 'name1'}, {id: 2, name: 'name2'}, {id: 3, name: 'name3'} ]; const options: Option[] = roles.map(({id, name}) => ({value: id, label: name}));Enlace mecanografiado del patio de recreo
type Option = { value: any, label: any } interface Role { id: number name: string } const roles: Role[] = [ { id: 0, name: "foo" }, { id: 1, name: "bar" }, { id: 2, name: "baz" }, ] const result: Option[] = roles .map(({ id, name }) => ({ label: id, value: name })); console.log(result);Resultado:
[LOG]: [{ "label": 0, "value": "foo" }, { "label": 1, "value": "bar" }, { "label": 2, "value": "baz" }]