4.5 KiB
id, title, challengeType, forumTopicId, dashedName
id | title | challengeType | forumTopicId | dashedName |
---|---|---|---|---|
a10d2431ad0c6a099a4b8b52 | Перевірка значень властивостей об'єкта | 5 | 16011 | everything-be-true |
--description--
Перевірити, чи предикат (другий аргумент) є правильним (truthy) в усіх елементах збору (перший аргумент).
Іншими словами, вам дано набір масивів об'єктів. Предикат pre
буде властивістю об'єкта і вам потрібно повернути true
, якщо його значення truthy
. В іншому випадку, повернути false
.
В JavaScript, значення truthy
- це значення, що перекладаються true
при оцінці в булевому контексті.
Пам'ятайте, ви можете отримати доступ до властивостей об'єкта, використовуючи точкові позначення або []
.
--hints--
truthCheck([{"user": "Tinky-Winky", "sex": "male"}, {"user": "Dipsy", "sex": "male"}, {"user": "Laa-Laa", "sex": "female"}, {"user": "Po", "sex": "female"}], "sex")
повинен повертатися як true
.
assert.strictEqual(
truthCheck(
[
{ user: 'Tinky-Winky', sex: 'male' },
{ user: 'Dipsy', sex: 'male' },
{ user: 'Laa-Laa', sex: 'female' },
{ user: 'Po', sex: 'female' }
],
'sex'
),
true
);
truthCheck([{"user": "Tinky-Winky", "sex": "male"}, {"user": "Dipsy"}, {"user": "Laa-Laa", "sex": "female"}, {"user": "Po", "sex": "female"}], "sex")
повинен повертатися як false
.
assert.strictEqual(
truthCheck(
[
{ user: 'Tinky-Winky', sex: 'male' },
{ user: 'Dipsy' },
{ user: 'Laa-Laa', sex: 'female' },
{ user: 'Po', sex: 'female' }
],
'sex'
),
false
);
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")
повинен повертатися як false
.
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
);
truthCheck([{"name": "Pete", "onBoat": true}, {"name": "Repeat", "onBoat": true}, {"name": "FastForward", "onBoat": null}], "onBoat")
повинен повертатися як false
.
assert.strictEqual(
truthCheck(
[
{ name: 'Pete', onBoat: true },
{ name: 'Repeat', onBoat: true },
{ name: 'FastForward', onBoat: null }
],
'onBoat'
),
false
);
truthCheck([{"name": "Pete", "onBoat": true}, {"name": "Repeat", "onBoat": true, "alias": "Repete"}, {"name": "FastForward", "onBoat": true}], "onBoat")
повинен повертатися як true
.
assert.strictEqual(
truthCheck(
[
{ name: 'Pete', onBoat: true },
{ name: 'Repeat', onBoat: true, alias: 'Repete' },
{ name: 'FastForward', onBoat: true }
],
'onBoat'
),
true
);
truthCheck([{"single": "yes"}], "single")
повинен повертатися як true
.
assert.strictEqual(truthCheck([{ single: 'yes' }], 'single'), true);
truthCheck([{"single": ""}, {"single": "double"}], "single")
повинен повертатися як false
.
assert.strictEqual(
truthCheck([{ single: '' }, { single: 'double' }], 'single'),
false
);
truthCheck([{"single": "double"}, {"single": undefined}], "single")
повинен повертатися як false
.
assert.strictEqual(
truthCheck([{ single: 'double' }, { single: undefined }], 'single'),
false
);
truthCheck([{"single": "double"}, {"single": NaN}], "single")
повинен повертатися як false
.
assert.strictEqual(
truthCheck([{ single: 'double' }, { single: NaN }], 'single'),
false
);
--seed--
--seed-contents--
function truthCheck(collection, pre) {
return pre;
}
truthCheck([{"user": "Tinky-Winky", "sex": "male"}, {"user": "Dipsy", "sex": "male"}, {"user": "Laa-Laa", "sex": "female"}, {"user": "Po", "sex": "female"}], "sex");
--solutions--
function truthCheck(collection, pre) {
return collection.every(function(e) { return e[pre]; });
}