如何检查项目是否存在于 javascript 数组中
how to check if item exists in a javascript array
我有一个 javascript 这样的数组
var open_chats = [];
open_chats.push({
"chatid": 'dfsfsdfsdf',
"data": 'adfsdf'
});
我需要检查这个数组中是否存在一个项目,我正在使用这样的东西。
if ($.inArray('dfsfsdfsdf', open_chats) !== -1){
alert('contains');
}
除非这似乎不起作用。我找不到适合这个阵列的东西。有人可以帮忙吗?
因为你有对象,而不是数组中的字符串,我建议使用 jQuery 的 grep
方法:
var result = $.grep( open_chats, function( data ){ return data.chatid == 'dfsfsdfsdf'; });
if( result.length ) {
alert('contains');
}
您的代码正在检查 'dfsfsdfsdf'
是否在数组中,而不是检查 属性 为 chatid
的对象是否具有 'dfsfsdfsdf'
作为其值。
使用本机 JavaScript 数组方法:
var hasMatch = open_chats.some(function(chat) {
return chat.chatid === 'dfsfsdfsdf';
});
if (hasMatch) {
alert('contains');
}
我有一个 javascript 这样的数组
var open_chats = [];
open_chats.push({
"chatid": 'dfsfsdfsdf',
"data": 'adfsdf'
});
我需要检查这个数组中是否存在一个项目,我正在使用这样的东西。
if ($.inArray('dfsfsdfsdf', open_chats) !== -1){
alert('contains');
}
除非这似乎不起作用。我找不到适合这个阵列的东西。有人可以帮忙吗?
因为你有对象,而不是数组中的字符串,我建议使用 jQuery 的 grep
方法:
var result = $.grep( open_chats, function( data ){ return data.chatid == 'dfsfsdfsdf'; });
if( result.length ) {
alert('contains');
}
您的代码正在检查 'dfsfsdfsdf'
是否在数组中,而不是检查 属性 为 chatid
的对象是否具有 'dfsfsdfsdf'
作为其值。
使用本机 JavaScript 数组方法:
var hasMatch = open_chats.some(function(chat) {
return chat.chatid === 'dfsfsdfsdf';
});
if (hasMatch) {
alert('contains');
}