我在FCC上经历了这个挑战,我已经成功了一半!
检查谓词(第二个参数)在集合的所有元素(第一个参数)上是否为真。
function truthCheck(collection, pre) {
// Is everyone being true?
for(var i = 0; i < collection.length; i++){
var arr = collection[i];
for(pre in arr){
if (isNaN(arr[pre]) ){
pre = false;
return pre;
} else if (arr[pre]){
pre = true;
return pre;
}
}
}
}
truthCheck([{"user": "Tinky-Winky", "sex": "male"}, {"user": "Dipsy", "sex": "male"}, {"user": "Laa-Laa", "sex": "female"}, {"user": "Po", "sex": "female"}], "sex");
在介绍中,我说我已经成功了一半。那是因为当我首先评估真实值时:
if (arr[pre]){
pre = true;
return pre;
}
所有“真实”的测试都通过了。
所以我想我应该以不同的方式评估我的“真实性”吗?我这样说是因为我的代码按原样获取了所有“错误”值来传递......
谢谢大家!