9.0 KiB
title, localeTitle
title | localeTitle |
---|---|
Everything Be True | Все верно |
Не забудьте использовать
Read-Search-Ask
если вы застряли. Попробуйте подключить программу и напишите свой собственный код
Проблема Объяснение:
Программе необходимо проверить, является ли второй аргумент истинным элементом, и он должен проверить это для каждого объекта в первом аргументе.
Связанные ссылки
Подсказка: 1
Не забудьте перебрать первый аргумент, чтобы проверить каждый объект.
попытаться решить проблему сейчас
Подсказка: 2
Только если все они будут истиной, мы вернемся к истине, поэтому убедитесь, что все они проверяют.
попытаться решить проблему сейчас
Подсказка: 3
попытаться решить проблему сейчас
Вы можете использовать функции циклов или обратных вызовов, существует несколько способов решения этой проблемы.
Осторожно, спойлеры!
Решения впереди!
Решение базового кода:
Использование for-in loop & hasOwnProperty
function truthCheck(collection, pre) {
// Create a counter to check how many are true.
var counter = 0;
// Check for each object
for (var c in collection) {
// If it is has property and value is truthy
if (collection[c].hasOwnProperty(pre) && Boolean(collection[c][pre])) {
counter++;
}
}
// Outside the loop, check to see if we got true for all of them and return true or false
return counter == collection.length;
}
// test here
truthCheck([{"user": "Tinky-Winky", "sex": "male"}, {"user": "Dipsy", "sex": "male"}, {"user": "Laa-Laa", "sex": "female"}, {"user": "Po", "sex": "female"}], "sex");
Код Объяснение:
- Сначала я создаю счетчик, чтобы проверить, сколько случаев действительно истинно.
- Затем проверьте каждый объект, если значение правдиво
- Вне цикла я проверяю, имеет ли переменная счетчика то же значение, что и длина коллекции , если true, а затем возвращает true , в противном случае возвращает false
Связанные ссылки
Решение промежуточного кода:
Использование Array.every ()
function truthCheck(collection, pre) {
return collection.every(function (element) {
return element.hasOwnProperty(pre) && Boolean(element[pre]);
});
}
// test here
truthCheck([{"user": "Tinky-Winky", "sex": "male"}, {"user": "Dipsy", "sex": "male"}, {"user": "Laa-Laa", "sex": "female"}, {"user": "Po", "sex": "female"}], "sex");
Код Объяснение:
- Использует собственный «каждый» метод, чтобы проверить, проходят ли все элементы массива в тесте.
- Эта ссылка поможет Array.prototype.every ()
Связанные ссылки
Расширенное решение для кода:
function truthCheck(collection, pre) {
// Is everyone being true?
return collection.every(obj => obj[pre]);
}
truthCheck([{"user": "Tinky-Winky", "sex": "male"}, {"user": "Dipsy", "sex": "male"}, {"user": "Laa-Laa", "sex": "female"}, {"user": "Po", "sex": "female"}], "sex");
Код Объяснение:
- Для каждого объекта в массиве
collection
проверьте правдоподобие свойства объекта, переданного в параметреpre
Array#every
метод внутренне проверяет, является ли значение, возвращаемое из обратного вызова, правдивым.- Возвращает
true
если оно передается для каждого объекта. В противном случае вернитеfalse
.
Связанные ссылки
ПРИМЕЧАНИЯ ДЛЯ ВЗНОСОВ:
НЕ добавляйте решения, похожие на любые существующие решения. Если вы считаете, что это похоже, но лучше , попробуйте объединить (или заменить) существующее подобное решение.
- Добавьте объяснение своего решения.
- Классифицируйте решение в одной из следующих категорий - Basic , Intermediate и Advanced .
- Пожалуйста, добавьте свое имя пользователя, только если вы добавили соответствующее основное содержимое . (
НЕ удаляйте существующие имена пользователей )
Видеть
![]()
Wiki Challenge Solution Template
дляWiki Challenge Solution Template
для справки.