使用indexOf搜索某个属性的对象数组

时间:2015-04-10 15:26:46

标签: javascript arrays

我有一个类似tempArray[i] = {Name: 'foo', Data: 'bar'}的数组 如何使用indexOf搜索tempArray以查看名称元素是否存在? 我是

if(tempArray.indexOf('foo') > -1)
{
 //do stuff
}

我尝试过这种方式,但它似乎永远不会是真的,因为我认为' foo'因.Name

引用而无法访问

3 个答案:

答案 0 :(得分:1)

为什么不检查房产?

tempArray [i] = {姓名:'foo',数据:'bar'}

if(tempArray[i].name)
{
 //do stuff
}

答案 1 :(得分:0)

假设您要在数组中搜索具有Name属性的对象:

//this assumes tempArray has objects only!
for(var i = 0, len = tempArray.length; i< len; i++){
  if(tempArray[i].hasOwnProperty('Name')) {

    //do stuff
  }
}

答案 2 :(得分:0)

这是object,您可以执行此操作来检查Name属性是否存在:

for (var i = 0; i < tempArray.length; i++)
{
    if (Object.keys(tempArray[i]).indexOf('Name') >= 0)
    {
        // do soemthing
    }
}