var object = [{key1:'value',key2:'value2'},{'key1:'value',key2:'value2}]
for (var key in object)
{
if(!object.hasOwnProperty(key)){continue;}
为什么我们会收到错误?我正在检查正确的方式。
我得到error cannot call hasOwnProperty in an Object - TypeError
答案 0 :(得分:2)
object
未定义。检查此修订版:
var myarr = [{key1:'value',key2:'value2'},{key1:'value',key2:'value2'}];
//renamed to myarr to avoid confusion - and removed typos from your code.
//myarr is now an array of objects
//loop through myarr
for (var i=0;i<myarr.length;i=i+1){
//check if the element myarr[i] is indeed an object
if (myarr[i].constructor === Object) {
//loop through the object myarr[i]
for (var key in myarr[i]) {
//notice the removal of !
if(myarr[i].hasOwnProperty(key)){
/* do things */
}
}
}
}
答案 1 :(得分:0)
你的for循环是否正确?试试这个
for (var key in array)
{
...
答案 2 :(得分:0)
您尚未在for循环中定义object
。上面的对象数组名为array
。
for (var key in array) {
}