-
Notifications
You must be signed in to change notification settings - Fork 17
/
EncontrandoPedidoMaisPróximo.js
45 lines (40 loc) · 1.83 KB
/
EncontrandoPedidoMaisPróximo.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
// Desafio
// Um restaurante está buscando otimizar a entrega dos pedidos, e para isso precisa de um programa que encontre o pedido mais próximo a partir de uma lista de pedidos. O programa deve exibir o nome e o tipo de comida do pedido mais próximo.
// Seu desafio é criar um código em JavaScript que manipule um array com três objetos JSON, contendo as informações de cada pedido (nome, tipo e distância).
// Entrada
// A entrada consiste em uma lista com 3 pedidos, os quais terão as seguintes propriedades:
// nome: o nome do cliente, representado por uma string;
// tipo: o tipo de comida do restaurante, representado por uma string.
// distancia: a distância em quilometros do pedido até o restaurante, representado por um valor de 0 a 15.
// Saída
// O programa deve exibir no console um texto contendo o nome do cliente e o tipo do pedido mais próximo encontrado na lista de pedidos. Conforme o exemplo abaixo:
// O pedido mais próximo é o de ${pedido.nome}, do tipo ${pedido.tipo}
const pedidos = [
{
nome: gets(),
tipo: gets(),
distancia: parseFloat(gets())
},
{
nome: gets(),
tipo: gets(),
distancia: parseFloat(gets())
},
{
nome: gets(),
tipo: gets(),
distancia: parseFloat(gets())
}
]
//TODO: Usando o array acima identifique o pedio mais próximo (menor distância).
//Dica: Explore o conceito de "reduce" em seu array, ele pode muito útil neste desafio.
//Referência: https://stackoverflow.com/a/34087850/3072570
const pedidoMaisProximo = pedidos.reduce((menorDistancia, pedidoAtual) => {
if (pedidoAtual.distancia < menorDistancia.distancia) {
return pedidoAtual;
} else {
return menorDistancia;
}
})
//TODO: Imprima a saída de acordo com o enunciado deste desafio.
print(`O pedido mais próximo é o de ${pedidoMaisProximo.nome}, do tipo ${pedidoMaisProximo.tipo}`)