在数组中查找字符串

时间:2011-10-26 14:08:16

标签: javascript jquery arrays

如何查找/匹配数组中的字符串?

如何在此内搜索?
enter image description here

例如,喜欢[3] .id是“99999”,这就是我想搜索的内容......我怎么能这样做?

我试过了:

var likes = response.data
jQuery.inArray(99999, likes)

但没有运气......

提前谢谢。

2 个答案:

答案 0 :(得分:2)

inArray只会搜索数组中的顶级对象,因为您需要在对象上找到属性的值,而这些对象需要执行类似(未经测试)的对象 -

var found = false;
var indexFoundAt = -1;
jQuery.each(likes,function(index, value) {
   if (value.id == "99999") {
     found = true;
     indexFoundAt = index;
     return false;  
  }
})

答案 1 :(得分:1)

如果我理解正确,您需要在每个对象的id属性中的对象数组中找到一个字符串。

所以这就是我的建议

function findId(id_needed)
{
  var found = 0;
  var arrayResult = []
  var likes = [] //your array of objects ofcaurse should be filled some how

  for(var i = 0;i<likes.length;i++)
  {
    if(likes[i].id==id_needed)
    {
      arrayResult[arrayResult.length]=likes[i];
      found +=1;
    }
  }
  return {Found : ((found>0)?(true):(false )),Result : arrayResult}
}

此函数将返回具有2个属性的对象

  1. 发现 - [真/假]
  2. 结果 - 具有所需ID的对象数组