У меня есть объект, который имеет несколько полей, которые потенциально могут быть перенесены в true для пользователя (подумайте, как список достижений). Если бы у меня был такой объект, как {one: true, two: false, three: true}
, как бы я мог избежать выполнения функции (потому что не все ключи верны)? Это то, что я пытался до сих пор:JS - Проверьте, истинны ли все свойства объекта
for (var key in achis) {
if (achis.hasOwnProperty(key)) {
if (key === false) {
cb && cb();
return;
}
}
}
achievements.update({userId: achis.userid}, {$set: {all: true}}, function(err) {
if (err) {
console.log(err);
}
cb && cb();
return;
});
Как бы я смог только обновить поле acheivements DOC «все» истинно, если все ключевые значения в Анхусу является «истинным», как это: {one: true, two: true, three: true}
Или [ 'Object.values'] (https://developer.mozilla.org/en- US/docs/Web/JavaScript/Reference/Global_Objects/Object/values), если узел поддерживает его – Oriol