JavaScript 中的真实性检查功能
Truthiness checker function in JavaScript
我正在 FCC 接受这个挑战,我已经完成一半了!
Check if the predicate (second argument) is truthy on all elements of
a collection (first argument).
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;
}
所有 'truthy' 测试都通过了。
所以我想我应该以不同的方式评估 'truthtiness'?我这样说是因为我的代码按原样获取了所有要传递的 'falsey' 值...
谢谢大家!
如果其中任何一个为假,则为假,因此请对其进行测试。那么如果其中 none 个是假的,return 个是真。
function truthCheck(collection, pre) {
for(var i = 0; i < collection.length; i++){
if (!collection[i][pre]) { return false; }
}
return true;
}
我正在 FCC 接受这个挑战,我已经完成一半了!
Check if the predicate (second argument) is truthy on all elements of a collection (first argument).
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;
}
所有 'truthy' 测试都通过了。
所以我想我应该以不同的方式评估 'truthtiness'?我这样说是因为我的代码按原样获取了所有要传递的 'falsey' 值...
谢谢大家!
如果其中任何一个为假,则为假,因此请对其进行测试。那么如果其中 none 个是假的,return 个是真。
function truthCheck(collection, pre) {
for(var i = 0; i < collection.length; i++){
if (!collection[i][pre]) { return false; }
}
return true;
}