在网页抓取之后,我有一组名为someObjArr
的名称。
Array看起来像这样:
[ { name: Joe 'Panik' } ]
我想检查这个数组中是否存在名称,这是我的代码:
例如:
var someObjArr = [];
var filter = $('a.player-link').each(function(i, element) {
var text = $(this).text();
if(someObjArr[i] == undefined){
someObjArr[i] = {};
};
someObjArr[i].name = text;
function nameExistsInArray(name, array) {
for(var i = 0; i < array.length; i++)(function(obj) {
if(obj.name == name) {
return true;
}
})
return false;
};
var exists = nameExistsInArray('Joe Panik', [{ name: 'Joe Panik' }]);
console.log(exists);
});
此脚本的输出会返回false fir数组中的每个项目。
答案 0 :(得分:2)
这样的事情怎么样?
function nameExistsInArray(name, array) {
for(var i = 0; i < array.length; i++) {
if(array[i].Name == name) {
return true;
}
}
return false;
};
用法:
var exists = nameExistsInArray('Joe Panik', [{ Name: 'Joe Panik' }]);
说明:您想确定某个类型string
的名称是否等于Name
中object
的{{1}}个属性之一。
在我们的功能中,我们会传递array
名称和string
array
个object
属性。然后,我们将使用Name
循环遍历obj
中的每个array
,然后我们将访问for
属性并将其与{{1}进行比较参数。当我们看到它时,Name
,但如果我们遍历每个元素并且没有找到匹配项,我们就会name
。