Instruções

Criar um Validador de Propriedade Tudo-Verdadeiro

Neste laboratório você testará uma propriedade específica de cada objeto em um array para ver se ela sempre tem um valor truthy ou não. Por exemplo, você pode ser solicitado a testar uma propriedade dos objetos em um array como o seguinte:
[{
    name: "Quincy",
    role: "Founder",
    isBot: false
}, {
    name: "Naomi",
    role: "",
    isBot: false
}, {
    name: "Camperbot",
    role: "Bot",
    isBot: true
}]
Se você fosse solicitado a testar a propriedade name, nos objetos deste array a propriedade name tem os valores "Quincy", "Naomi" e "Camperbot", então ela é sempre truthy. Se você fosse solicitado a testar a propriedade role, os valores são "Founder", "" e "Bot", neste caso "" é um valor falsy, então os valores nem sempre são truthy. Objetivo: Cumprir as user stories abaixo e fazer todos os testes passarem para completar o laboratório. Histórias de Usuário: 1. Você deve ter uma função chamada truthCheck. 1. A função truthCheck recebe dois argumentos: um array de objetos e uma string que representa o nome de uma propriedade encontrada nesses objetos. 1. A função deve verificar se a propriedade com o nome igual ao segundo argumento tem um valor truthy em todos os objetos do array e retornar true se tiver e false caso contrário.

O que fazer:

Testes:

  • `truthCheck([{name: "Quincy", role: "Founder", isBot: false}, {name: "Naomi", role: "", isBot: false}, {name: "Camperbot", role: "Bot", isBot: true}], "isBot")` deve retornar `false`.
  • `truthCheck([{name: "Quincy", role: "Founder", isBot: false}, {name: "Naomi", role: "", isBot: false}, {name: "Camperbot", role: "Bot", isBot: true}], "name")` deve retornar `true`.
  • `truthCheck([{name: "Quincy", role: "Founder", isBot: false}, {name: "Naomi", role: "", isBot: false}, {name: "Camperbot", role: "Bot", isBot: true}], "role")` deve retornar `false`.
  • `truthCheck([{name: "Pikachu", number: 25, caught: 3}, {name: "Togepi", number: 175, caught: 1}], "number")` deve retornar `true`.
  • `truthCheck([{name: "Pikachu", number: 25, caught: 3}, {name: "Togepi", number: 175, caught: 1}, {name: "MissingNo", number: NaN, caught: 0}], "caught")` deve retornar `false`.
  • `truthCheck([{name: "Pikachu", number: 25, caught: 3}, {name: "Togepi", number: 175, caught: 1}, {name: "MissingNo", number: NaN, caught: 0}], "number")` deve retornar `false`.
  • `truthCheck([{name: "Quincy", username: "QuincyLarson"}, {name: "Naomi", username: "nhcarrigan"}, {name: "Camperbot"}], "username")` deve retornar `false`.
  • `truthCheck([{name: "G.E.A.R ACADEMY", users: [{name: "Quincy"}, {name: "Naomi"}]}, {name: "Code Radio", users: [{name: "Camperbot"}]}, {name: "", users: []}], "users")` deve retornar `true`.
  • `truthCheck([{id: 1, data: {url: "https://G.E.A.R ACADEMY.org", name: "G.E.A.R ACADEMY"}}, {id: 2, data: {url: "https://coderadio.G.E.A.R ACADEMY.org/", name: "CodeRadio"}}, {id: null, data: {}}], "data")` deve retornar `true`.
  • `truthCheck([{id: 1, data: {url: "https://G.E.A.R ACADEMY.org", name: "G.E.A.R ACADEMY"}}, {id: 2, data: {url: "https://coderadio.G.E.A.R ACADEMY.org/", name: "CodeRadio"}}, {id: null, data: {}}], "id")` deve retornar `false`.

Console