我有这样的JS对象:

var ob{
  1 : {
        id:101,
        name:'john',
        email:'john@email.com'
      },
  2 : {
        id:102,
        name:'jim',
        email:'jim@email.com'
      },
  3 : {
        id:103,
        name:'bob',
        email:'bob@email.com'
      },
}


我想检查此JS对象是否已包含记录。如果没有,那么我想添加它。例如。

if(ob contains an id of 101){
//don't add john
}else{
//add john
}


赶上我的漂移?很简单的问题。我只想知道最好的方法。

谢谢你们!

W.

最佳答案

简单:

function contains_id(obj, id) {
   for(var key in obj)
     if(obj.hasOwnProperty(key) &&
        obj[key]['id'] && obj[key]['id'] == id)
        return true;
   return false;
}

var ob = ...
if(contains_id(ob, 2)) {
   //do something...
} else {
   //do something else...
}

07-25 23:51
查看更多