Javascript 测试对象是否包含tap:false
我正在接收以下两个对象之一:Javascript 测试对象是否包含tap:false,javascript,Javascript,我正在接收以下两个对象之一: {alarmId: "2559"} {alarmId: "2559", tap: false} 我想这样做: if (tap(o)) { console.log("tap"); } else { console.log("not tap"); } 因此,如果对象的tap未定义,则tap应返回true,即使tap:true也应返回true,以确保安全。否则我希望从tap函数返回false。我应该如何编写tap函数 您可以这样编写函数: functi
{alarmId: "2559"}
{alarmId: "2559", tap: false}
我想这样做:
if (tap(o)) {
console.log("tap");
}
else {
console.log("not tap");
}
因此,如果对象的tap未定义,则tap应返回true,即使tap:true也应返回true,以确保安全。否则我希望从tap函数返回false。我应该如何编写tap函数 您可以这样编写函数:
function tap (o) {
return (typeof o["tap"] != "undefined");
}
如果对象已点击,则返回true
仅传递true和未定义的值。false、foo和42都返回false只需使用:
if(o.tap === false)
console.log('tap is false') // tap is the value `false`
else
console.log('tap is not `false`') // tap can be anything: any value, or `undefined`.
检查您想要的值,不要让它变得比需要的更复杂
它可以简单到:
return o.tap === false;
那么你的问题是什么?检测对象是否具有tap属性,或是否写入tap函数?你需要tap函数做什么?如果一个对象有一个键并读取它的值,什么是很难看到的?console.logmyObject.taptypeof不是函数。从技术上讲,这些参数是不必要的。点击{}将返回true。@Faouzioudou问题说明。。。为了安全起见,tap应该返回true[…]。因此,这似乎是合适的。当tap为真或未定义时,我希望tap返回真。@Baz好的,明白了。
return o.tap === false;