检查谓词(第二个参数)是否对集合的所有元素(第一个参数)都是真实的

时间:2016-06-23 18:00:37

标签: javascript algorithm object

您将获得一个对象的数组集合。谓词pre将是一个对象属性,如果其值为真,则需要返回true。否则,返回false。

function truthCheck(collection, pre) {
 //To Do
}

truthCheck(
   [
     { user: "Tinky-Winky", sex: "male" },
     { user: "Dipsy", sex: "male" },
     { user: "Laa-Laa", sex: "female" },
     { user: "Po", sex: "female" }
   ],
   "sex"
);

2 个答案:

答案 0 :(得分:1)

您可以使用Array#every并检查每个元素是否具有给定的真实性。

  

every() 方法测试数组中的所有元素是否都通过了提供的函数实现的测试。



function truthCheck(array, key) {
    return array.every(function (a) {
        return a[key];
    });
}

console.log(truthCheck([{ "user": "Tinky-Winky", "sex": "male" }, { "user": "Dipsy", "sex": "male" }, { "user": "Laa-Laa", "sex": "female" }, { "user": "Po", "sex": "female" }], "sex"));




答案 1 :(得分:1)

我无法评论,所以这里作为答案。他的问题来自freeCodeCamp bonfire

创建一个算法来检查谓词(第二个参数)是否对集合的所有元素(第一个参数)都是真实的。他必须使用参数

创建一个function truthCheck(collection, pre)
collection = [{"user": "Tinky-Winky", "sex": "male"}, {"user": "Dipsy", "sex": "male"}, {"user": "Laa-Laa", "sex": "female"}, {"user": "Po", "sex": "female"}];

pre = "sex";

应该返回true。

基本上,你必须采用第二个参数(即' sex')并查看它是否在数组集合的所有对象上都有 truthy 值。请记住that truthy means与false,0,"",null,undefined和NaN不同的任何内容。有了这个解释,你应该能够完成你的练习。但是下次我建议你点击"获取提示" freeCodeCamp中的按钮,然后在此处询问。

FreeCodeCamp discussion forum

进行了适当的推理,并进行了详细的讨论并得到了很好的解释