--- id: a10d2431ad0c6a099a4b8b52 title: Tutto sia vero challengeType: 5 forumTopicId: 16011 dashedName: everything-be-true --- # --description-- Controlla se il predicato (secondo argomento) è veritiero (truthy) su tutti gli elementi di una collezione (primo argomento). In altre parole, ti viene data una raccolta di oggetti. Il predicato `pre` sarà la proprietà di un oggetto e dovrai restituire `true` se il suo valore è `truthy`. Altrimenti, restituisci `false`. In JavaScript, i valori `truthy` sono valori che vengono tradotti in `true` quando valutati in un contesto booleano. Ricorda, puoi accedere alle proprietà dell'oggetto tramite la notazione a punti o quella a parentesi (`[]`). # --hints-- `truthCheck([{name: "Quincy", role: "Founder", isBot: false}, {name: "Naomi", role: "", isBot: false}, {name: "Camperbot", role: "Bot", isBot: true}], "isBot")` dovrebbe restituire `false`. ```js assert.strictEqual(truthCheck( [ { name: "Quincy", role: "Founder", isBot: false }, { name: "Naomi", role: "", isBot: false }, { name: "Camperbot", role: "Bot", isBot: true } ], "isBot"), false); ``` `truthCheck([{name: "Quincy", role: "Founder", isBot: false}, {name: "Naomi", role: "", isBot: false}, {name: "Camperbot", role: "Bot", isBot: true}], "name")` dovrebbe restituire `true`. ```js assert.strictEqual(truthCheck( [ { name: "Quincy", role: "Founder", isBot: false }, { name: "Naomi", role: "", isBot: false }, { name: "Camperbot", role: "Bot", isBot: true } ], "name"), true); ``` `truthCheck([{name: "Quincy", role: "Founder", isBot: false}, {name: "Naomi", role: "", isBot: false}, {name: "Camperbot", role: "Bot", isBot: true}], "role")` dovrebbe restituire `false`. ```js assert.strictEqual(truthCheck( [ { name: "Quincy", role: "Founder", isBot: false }, { name: "Naomi", role: "", isBot: false }, { name: "Camperbot", role: "Bot", isBot: true } ], "role"), false); ``` `truthCheck([{name: "Pikachu", number: 25, caught: 3}, {name: "Togepi", number: 175, caught: 1}], "number")` dovrebbe ritornare `true`. ```js assert.strictEqual(truthCheck( [ { name: "Pikachu", number: 25, caught: 3 }, { name: "Togepi", number: 175, caught: 1 }, ], "number"), true); ``` `truthCheck([{name: "Pikachu", number: 25, caught: 3}, {name: "Togepi", number: 175, caught: 1}, {name: "MissingNo", number: NaN, caught: 0}], "caught")` dovrebbe restituire `false`. ```js assert.strictEqual(truthCheck( [ { name: "Pikachu", number: 25, caught: 3 }, { name: "Togepi", number: 175, caught: 1 }, { name: "MissingNo", number: NaN, caught: 0 }, ], "caught"), false); ``` `truthCheck([{name: "Pikachu", number: 25, caught: 3}, {name: "Togepi", number: 175, caught: 1}, {name: "MissingNo", number: NaN, caught: 0}], "number")` dovrebbe restituire `false`. ```js assert.strictEqual(truthCheck( [ { name: "Pikachu", number: 25, caught: 3 }, { name: "Togepi", number: 175, caught: 1 }, { name: "MissingNo", number: NaN, caught: 0 }, ], "number"), false); ``` `truthCheck([{name: "Quincy", username: "QuincyLarson"}, {name: "Naomi", username: "nhcarrigan"}, {name: "Camperbot"}], "username")` dovrebbe restituire `false`. ```js assert.strictEqual(truthCheck( [ { name: "Quincy", username: "QuincyLarson" }, { name: "Naomi", username: "nhcarrigan" }, { name: "Camperbot" } ], "username"), false); ``` `truthCheck([{name: "freeCodeCamp", users: [{name: "Quincy"}, {name: "Naomi"}]}, {name: "Code Radio", users: [{name: "Camperbot"}]}, {name: "", users: []}], "users")` dovrebbe restituire `true`. ```js assert.strictEqual(truthCheck( [ { name: "freeCodeCamp", users: [{ name: "Quincy" }, { name: "Naomi" }] }, { name: "Code Radio", users: [{ name: "Camperbot" }] }, { name: "", users: [] }, ], "users"), true); ``` `truthCheck([{id: 1, data: {url: "https://freecodecamp.org", name: "freeCodeCamp"}}, {id: 2, data: {url: "https://coderadio.freecodecamp.org/", name: "CodeRadio"}}, {id: null, data: {}}], "data")` dovrebbe restituire `true`. ```js assert.strictEqual(truthCheck( [ { id: 1, data: { url: "https://www.freecodecamp.org", name: "freeCodeCamp" } }, { id: 2, data: { url: "https://coderadio.freecodecamp.org/", name: "CodeRadio" } }, { id: null, data: {} }, ], "data"), true); ``` `truthCheck([{id: 1, data: {url: "https://freecodecamp.org", name: "freeCodeCamp"}}, {id: 2, data: {url: "https://coderadio.freecodecamp.org/", name: "CodeRadio"}}, {id: null, data: {}}], "id")` dovrebbe restituire `false`. ```js assert.strictEqual(truthCheck( [ { id: 1, data: { url: "https://www.freecodecamp.org", name: "freeCodeCamp" } }, { id: 2, data: { url: "https://coderadio.freecodecamp.org/", name: "CodeRadio" } }, { id: null, data: {} }, ], "id"), false); ``` # --seed-- ## --seed-contents-- ```js function truthCheck(collection, pre) { return pre; } truthCheck([{name: "Quincy", role: "Founder", isBot: false}, {name: "Naomi", role: "", isBot: false}, {name: "Camperbot", role: "Bot", isBot: true}], "isBot"); ``` # --solutions-- ```js function truthCheck(collection, pre) { return collection.every(function(e) { return e[pre]; }); } ```