JS hasownproperty无法正常工作,无论我做什么,它都会返回false

时间:2017-05-26 07:20:25

标签: javascript

这是我的代码:

console.log("findAllInvoice Result: " + JSON.stringify(data, null, 4));
console.log("hasOwnProperty Result: " + data.hasOwnProperty("totalInvoice"));
if (data.hasOwnProperty("totalInvoice")) {
    var myTotal = data.totalInvoice;
}
console.log("invoice Sum: " + myTotal)
console.log("=====RESOLVE findAllInvoice=====")
resolve(data);

以下是console.log

的结果
=====RESOLVE findMonthBookings=====
findAllInvoice Result: [
    {
        "totalInvoice": 48758
    }
]
hasOwnProperty Result: false
invoice Sum: 0
=====RESOLVE findAllInvoice=====

我不明白?!如果财产明显存在,它如何返回false

1 个答案:

答案 0 :(得分:1)

尝试将第二行更改为:

console.log("hasOwnProperty Result: " + data[0].hasOwnProperty("totalInvoice"));

需要使用data[0]而非data

正如您发布的那样,findAllInvoice是一个数组,其中一个元素是对象[{"totalInvoice": 48758}]。您需要在该对象上调用hasOwnProperty而不是在包含数组上。