Tengo un conjunto de datos. Hago un mapa a través de mis datos, si los datos son "HOME_DELIVERY , entonces irá a otra función que verificará si el pedido es válido o no. Si el pedido es válido, devolverá una cadena de hello . Hasta ahora todo funciona como se esperaba, pero quiero mi función de mapa devuelve la cadena hello . actualmente está devolviendo ['hello']
const getRoundName = (orderId) => { if (orderId === "a4013438-926f-4fdc-8f6a-a7aa402b40ea") { return "hello"; } else { retrun } }; const orders = [ { id: "a4013438-926f-4fdc-8f6a-a7aa402b40ea", modifiedAt: "2022-02-28T09:26:18+00:00", deliveryDate: "2022-02-28", pickupLocation: null, orderStatus: "MODIFIED", deliverySlotId: "2022-02-28:66ee337c-e252-4297-9aed-cafcef396f19", createdAt: "2022-02-26T06:38:46+00:00", deliveryTime: "22-00", storeId: "516079340", orderNumber: 28354107, paymentMethod: "ON_DELIVERY", cartItems: [[Object], [Object], [Object]], deliveryMethod: "HOME_DELIVERY", additionalInfo: null, }, ]; const roundName = orders.map((order) => { return order.deliveryMethod === 'HOME_DELIVERY' ? getRoundName(order.id) : '' }); console.log(roundName);Puede usar filter antes de llamar al map
//if it has more than 1 items in the list, it will join them together like this `hellohellohello` const orderIds = orders.filter((order) => order.deliveryMethod === 'HOME_DELIVERY').map(order => getRoundName(order.id)).join("")Array.map devuelve una matriz como respuesta. Si necesita una cadena como respuesta, debe modificar la lógica como
const getRoundName = (orderId) => { if (orderId === "a4013438-926f-4fdc-8f6a-a7aa402b40ea") { return "hello"; } else { return; } }; const orders = [ { id: "a4013438-926f-4fdc-8f6a-a7aa402b40ea", modifiedAt: "2022-02-28T09:26:18+00:00", deliveryDate: "2022-02-28", pickupLocation: null, orderStatus: "MODIFIED", deliverySlotId: "2022-02-28:66ee337c-e252-4297-9aed-cafcef396f19", createdAt: "2022-02-26T06:38:46+00:00", deliveryTime: "22-00", storeId: "516079340", orderNumber: 28354107, paymentMethod: "ON_DELIVERY", cartItems: [[Object], [Object], [Object]], deliveryMethod: "HOME_DELIVERY", additionalInfo: null, }, { id: "a4013438-926f-4fdc-8f6a-a7aa402b40ef", modifiedAt: "2022-02-28T09:26:18+00:00", deliveryDate: "2022-02-28", pickupLocation: null, orderStatus: "MODIFIED", deliverySlotId: "2022-02-28:66ee337c-e252-4297-9aed-cafcef396f19", createdAt: "2022-02-26T06:38:46+00:00", deliveryTime: "22-00", storeId: "516079340", orderNumber: 28354107, paymentMethod: "ON_DELIVERY", cartItems: [[Object], [Object], [Object]], deliveryMethod: "HOME_DELIVERY", additionalInfo: null, }, ]; const roundName = orders.flatMap((order) => { return order.deliveryMethod === 'HOME_DELIVERY' ? getRoundName(order.id) : '' }); console.log(roundName.join(''));