Javascript 如何通过json对象选项卡中的Id检查对象是否存在?

Javascript 如何通过json对象选项卡中的Id检查对象是否存在?,javascript,node.js,underscore.js,Javascript,Node.js,Underscore.js,我有一个对象数组: var tab = [ { "id": "1", "data" : "blabla" }, { "id": "2", "data": "samplesample" } ] 是否有简单的工具可以通过id检查此数组中是否存在对象 比如: chekexists(tab, "id", "1") ; // return true chekexists(tab, "id", "2") ; // retu

我有一个对象数组:

 var tab =  [
   {
     "id": "1",
     "data" : "blabla" 
   },
   {
      "id": "2",
      "data": "samplesample"
   }
 ]
是否有简单的工具可以通过id检查此数组中是否存在对象

比如:

 chekexists(tab, "id", "1") ;  // return true
 chekexists(tab, "id", "2") ;  // return true
 chekexists(tab, "id", "3") ;  // return false
 chekexists(tab, "data", "blabla") ;  // return true
 chekexists(tab, "data", "toto") ;  // return false
是否可以使用下划线执行此操作

为避免混淆,我的选项卡如下所示:

var tab = JSON.parse(fs.readFileSync('path'));

您可以使用
。.findWhere

function checkexists(list, props) {
  return _.findWhere(list, props) !== undefined;
}

checkexists(tab, {id: 1});
checkexists(tab, {data: 'toto'});

您可以使用下划线,如下所示:

function checkexists(array, prop) {
  return !!_.where(array, prop).length;
}
现在您可以像这样使用它:

checkexists(tab, {id: '1'});
checkexists(tab , "data", "blabla") ;  

轻松使用开源项目

var选项卡=[
{
“id”:“1”,
“数据”:“布拉布拉”
},
{
“id”:“2”,
“数据”:“样本样本”
}
]
var result=jinqJs().from(tab).where('id==2').select();
document.body.innerHTML=''+JSON.stringify(结果,null,4)+'

'; //或者你可以这样做 result=jinqJs().from(tab).in(['1','2','id').select(); document.body.innerHTML+=''+JSON.stringify(结果,null,4)+'

'
您好。我调整问题。我在寻找更普通的东西。我经常有同样的问题不,
将结果转换为布尔等价值,如
!0将给出true和
!!0将给出false。同样地
!!1
将是真的:)我查看了“where”方法,这里也有findwhere。因此,我实现了我所做的:if(u.findWhere(tab,{'data':'blabla'})=未定义)它看起来像我正在搜索的东西。我去看看。谢谢你知道这个方法是否存在于下划线中吗?我找不到正确的方法。我根据javascript给出了答案