2018-10-04 14:37:37 +01:00
---
id: a10d2431ad0c6a099a4b8b52
title: Everything Be True
isRequired: true
challengeType: 5
---
## Description
< section id = 'description' >
Check if the predicate (second argument) is < dfn > truthy< / dfn > on all elements of a collection (first argument).
In other words, you are given an array collection of objects. The predicate < code > pre< / code > will be an object property and you need to return < code > true< / code > if its value is < code > truthy< / code > . Otherwise, return < code > false< / code > .
In JavaScript, < code > truthy< / code > values are values that translate to < code > true< / code > when evaluated in a Boolean context.
Remember, you can access object properties through either dot notation or < code > []< / code > notation.
Remember to use < a href = 'http://forum.freecodecamp.org/t/how-to-get-help-when-you-are-stuck/19514' target = '_blank' > Read-Search-Ask< / a > if you get stuck. Try to pair program. Write your own code.
< / section >
## Instructions
< section id = 'instructions' >
< / section >
## Tests
< section id = 'tests' >
```yml
tests:
- text: '< code > truthCheck([{"user": "Tinky-Winky", "sex": "male"}, {"user": "Dipsy", "sex": "male"}, {"user": "Laa-Laa", "sex": "female"}, {"user": "Po", "sex": "female"}], "sex")</ code > should return true.'
2018-10-08 01:01:53 +01:00
testString: 'assert.strictEqual(truthCheck([{"user": "Tinky-Winky", "sex": "male"}, {"user": "Dipsy", "sex": "male"}, {"user": "Laa-Laa", "sex": "female"}, {"user": "Po", "sex": "female"}], "sex"), true, "< code > truthCheck([{"user": "Tinky-Winky", "sex": "male"}, {"user": "Dipsy", "sex": "male"}, {"user": "Laa-Laa", "sex": "female"}, {"user": "Po", "sex": "female"}], "sex")< / code > should return true.");'
2018-10-04 14:37:37 +01:00
- text: '< code > truthCheck([{"user": "Tinky-Winky", "sex": "male"}, {"user": "Dipsy"}, {"user": "Laa-Laa", "sex": "female"}, {"user": "Po", "sex": "female"}], "sex")</ code > should return false.'
2018-10-08 01:01:53 +01:00
testString: 'assert.strictEqual(truthCheck([{"user": "Tinky-Winky", "sex": "male"}, {"user": "Dipsy"}, {"user": "Laa-Laa", "sex": "female"}, {"user": "Po", "sex": "female"}], "sex"), false, "< code > truthCheck([{"user": "Tinky-Winky", "sex": "male"}, {"user": "Dipsy"}, {"user": "Laa-Laa", "sex": "female"}, {"user": "Po", "sex": "female"}], "sex")< / code > should return false.");'
2018-10-04 14:37:37 +01:00
- text: '< code > truthCheck([{"user": "Tinky-Winky", "sex": "male", "age": 0}, {"user": "Dipsy", "sex": "male", "age": 3}, {"user": "Laa-Laa", "sex": "female", "age": 5}, {"user": "Po", "sex": "female", "age": 4}], "age")</ code > should return false.'
2018-10-08 01:01:53 +01:00
testString: 'assert.strictEqual(truthCheck([{"user": "Tinky-Winky", "sex": "male", "age": 2}, {"user": "Dipsy", "sex": "male", "age": 0}, {"user": "Laa-Laa", "sex": "female", "age": 5}, {"user": "Po", "sex": "female", "age": 4}], "age"), false, "< code > truthCheck([{"user": "Tinky-Winky", "sex": "male", "age": 0}, {"user": "Dipsy", "sex": "male", "age": 3}, {"user": "Laa-Laa", "sex": "female", "age": 5}, {"user": "Po", "sex": "female", "age": 4}], "age")< / code > should return false.");'
2018-10-04 14:37:37 +01:00
- text: '< code > truthCheck([{"name": "Pete", "onBoat": true}, {"name": "Repeat", "onBoat": true}, {"name": "FastFoward", "onBoat": null}], "onBoat")</ code > should return false'
2018-10-08 01:01:53 +01:00
testString: 'assert.strictEqual(truthCheck([{"name": "Pete", "onBoat": true}, {"name": "Repeat", "onBoat": true}, {"name": "FastFoward", "onBoat": null}], "onBoat"), false, "< code > truthCheck([{"name": "Pete", "onBoat": true}, {"name": "Repeat", "onBoat": true}, {"name": "FastFoward", "onBoat": null}], "onBoat")< / code > should return false");'
2018-10-04 14:37:37 +01:00
- text: '< code > truthCheck([{"name": "Pete", "onBoat": true}, {"name": "Repeat", "onBoat": true, "alias": "Repete"}, {"name": "FastFoward", "onBoat": true}], "onBoat")</ code > should return true'
2018-10-08 01:01:53 +01:00
testString: 'assert.strictEqual(truthCheck([{"name": "Pete", "onBoat": true}, {"name": "Repeat", "onBoat": true, "alias": "Repete"}, {"name": "FastFoward", "onBoat": true}], "onBoat"), true, "< code > truthCheck([{"name": "Pete", "onBoat": true}, {"name": "Repeat", "onBoat": true, "alias": "Repete"}, {"name": "FastFoward", "onBoat": true}], "onBoat")< / code > should return true");'
2018-10-04 14:37:37 +01:00
- text: '< code > truthCheck([{"single": "yes"}], "single")</ code > should return true'
2018-10-08 01:01:53 +01:00
testString: 'assert.strictEqual(truthCheck([{"single": "yes"}], "single"), true, "< code > truthCheck([{"single": "yes"}], "single")< / code > should return true");'
2018-10-04 14:37:37 +01:00
- text: '< code > truthCheck([{"single": ""}, {"single": "double"}], "single")</ code > should return false'
2018-10-08 01:01:53 +01:00
testString: 'assert.strictEqual(truthCheck([{"single": ""}, {"single": "double"}], "single"), false, "< code > truthCheck([{"single": ""}, {"single": "double"}], "single")< / code > should return false");'
2018-10-04 14:37:37 +01:00
- text: '< code > truthCheck([{"single": "double"}, {"single": undefined}], "single")</ code > should return false'
2018-10-08 01:01:53 +01:00
testString: 'assert.strictEqual(truthCheck([{"single": "double"}, {"single": undefined}], "single"), false, "< code > truthCheck([{"single": "double"}, {"single": undefined}], "single")< / code > should return false");'
2018-10-04 14:37:37 +01:00
- text: '< code > truthCheck([{"single": "double"}, {"single": NaN}], "single")</ code > should return false'
2018-10-08 01:01:53 +01:00
testString: 'assert.strictEqual(truthCheck([{"single": "double"}, {"single": NaN}], "single"), false, "< code > truthCheck([{"single": "double"}, {"single": NaN}], "single")< / code > should return false");'
2018-10-04 14:37:37 +01:00
```
< / section >
## Challenge Seed
< section id = 'challengeSeed' >
< div id = 'js-seed' >
```js
function truthCheck(collection, pre) {
// Is everyone being true?
return pre;
}
truthCheck([{"user": "Tinky-Winky", "sex": "male"}, {"user": "Dipsy", "sex": "male"}, {"user": "Laa-Laa", "sex": "female"}, {"user": "Po", "sex": "female"}], "sex");
```
< / div >
< / section >
## Solution
< section id = 'solution' >
```js
function truthCheck(collection, pre) {
// Does everyone have one of these?
return collection.every(function(e) { return e[pre]; });
}
```
< / section >