我有这个对象:
Object ->
Content: <h1>some html</h1>
Url : A url
现在我正在使用此代码来确定当前对象中是否存在某个URL:
var inURLArray = function(url, array) {
for(var i in array) {
if(array[i].url && array[i].url == url)
return true;
}
return false;
};
所以我传递了我正在寻找的网址和我正在查找的对象。然后我可以var found = inURLArray('http://google.com', tabArray);
如果我找到了我想要获取内容的网址,我该怎么办?在同一个对象中。该数组称为tabArray。我正在使用jQuery / Javascript!
我应该说,我真的不介意我如何访问内容,即。如果它存储在变量中或提醒!
答案 0 :(得分:3)
您可以将布尔函数替换为仅返回找到的对象的布尔函数,如果没有布尔函数,则替换为null:
var findInArrayByUrl = function(url, array)
{
for(var i in array)
{
if(array[i].url && array[i].url == url)
{
return array[i];
}
}
return null;
};
答案 1 :(得分:0)
试试这个;
function getObjectInArrayByUrl (url, arr) {
var i
, obj
, arrLength = arr.length;
// loop the array
for (i = 0; i < arrLength; i++) {
// store the object in a var to save lookups
obj = arr[i];
// if obj.url isn't present or doesn't match, skip
if (!('url' in obj) || obj.url != url) {
continue;
}
// otherwise return the matching object
return obj;
}
// otherwise return fail
return null;
};