我收到错误
无法阅读财产' billingDate'未定义的
分期付款 此处未定义
response.detailsResponse.installment.billingDate
我想使用hasOwnProperty但是以动态的方式,比如我将路径和对象(检查)传递给函数,它执行以下检查并返回true或false。
function checkProperty(path, obj){
//assuming path = response.detailsResponse.installment.billingDate
//assuming obj = response [a json/object]
//check if response.detailsResponse exists
//then check if response.detailsResponse.installment exists
//then check if response.detailsResponse.installment.billingDate exists
}
路径长度/键可以变化。
代码必须经过优化和通用。
答案 0 :(得分:0)
您可以按以下方式重写该功能
function checkProperty(path,obj){
splittedarr = path.split('.');
var tempObj = obj;
for(var i=1; i<splittedarr.length; i++){
if(typeof tempObj[splittedarr[i]] === 'undefined'){
return false;
}else{
tempObj = tempObj[splittedarr[i]];
}
}
return true;
}
从索引1
开始,根据您的示例,response
中response.detailsResponse.installment.billingDate
的{{1}}似乎与传递给函数的path
相同