我是javascript的新手,需要检查嵌套属性。有人告诉我,我可以使用.hasOwnProperty()方法。我如何区分属性为 myVar变量的值,或者属性名称实际上是对象中的myVar?在进入hasOwnProperty()
之前,是否需要将myVar的内容提取为字符串?所以基本上,hasOwnProperty()
总是评估字符串的参数吗?
if(main_hash.query.filtered.query.hasOwnProperty(myVar)){
// do stuff
}
提前谢谢你。
答案 0 :(得分:1)
hasOwnProperty不会测试每个人的值。它测试对象上是否存在属性。
$posts= Post::whereHas(
'comments', function ($q) {
$q->select(DB::raw("DATE_FORMAT(created_at,'%Y-%m-%d %H:%i:%s')"),'post_id',DB::raw('count(*) as cmt_count'))
->whereRaw('`comments`.`created_at` BETWEEN NOW()-INTERVAL 8 DAY AND NOW()')
->groupBy('post_id');
})
->take(5)->get();
这将返回true,因为该属性存在于对象上。我相信它总是需要属性名称的字符串值。
等效地执行此操作是相同的:
var test = {
someproperty: ''
};
test.hasOwnProperty('someproperty');