【发布时间】:2020-09-04 11:21:58
【问题描述】:
我当前算法挑战的目标是用给定的键(第二个参数)确认评估的 obj 的第二个值的真实性。我知道更简单的方法是使用Array.every,但我想自己尝试将其分解为多个步骤。
无论出于何种原因,当满足键不正确或与键关联的值是虚假的条件时,我无法跳出函数并返回 false。它只是返回未定义。我更习惯于从 Ruby 的角度进行迭代,所以我不知道这是否会扭曲我对它应该如何工作的看法。
提前致谢。这是我的代码:
function truthCheck(collection, pre) {
collection.forEach((obj) =>{
let key = Object.keys(obj)[1];
if (!(key === pre)){
console.log("no matching key")
return false;
}else if (key === pre){
if(!obj[pre]){
console.log("falsey value")
return false;
}
}
}
)
return true;
}
console.log(truthCheck([{"user": "Tinky-Winky", "sex": "male"}, {"user": "Dipsy", "sex": "male"}, {"user": "Laa-Laa", "sex": "female"}, {"user": "Po", "sex": "female"}], "sex"));
【问题讨论】:
-
.forEach()方法忽略从其回调函数返回值。
标签: javascript object nested return