我有像这样的javascript数组
var open_chats = [];
open_chats.push({
"chatid": 'dfsfsdfsdf',
"data": 'adfsdf'
});
我需要检查这个数组中是否存在一个项目,我正在使用这样的东西。
if ($.inArray('dfsfsdfsdf', open_chats) !== -1){
alert('contains');
}
除此之外似乎不起作用。我找不到适合这个数组的东西。有人可以帮忙吗?
答案 0 :(得分:0)
由于您有对象,而不是数组中的字符串,我建议使用jQuery' grep
方法:
var result = $.grep( open_chats, function( data ){ return data.chatid == 'dfsfsdfsdf'; });
if( result.length ) {
alert('contains');
}
答案 1 :(得分:0)
您的代码正在检查数组中是否'dfsfsdfsdf'
,而不是chatid
属性的对象是'dfsfsdfsdf'
的值。
使用本机JavaScript数组方法:
var hasMatch = open_chats.some(function(chat) {
return chat.chatid === 'dfsfsdfsdf';
});
if (hasMatch) {
alert('contains');
}