如何检查 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');
}
除了这似乎不起作用。我找不到适用于此数组的东西。谁能帮忙?
您的代码正在检查数组中是否'dfsfsdfsdf'
,而不是属性为 chatid
的对象是否具有 'dfsfsdfsdf'
作为其值。
使用本机 JavaScript 数组方法:
var hasMatch = open_chats.some(function(chat) {
return chat.chatid === 'dfsfsdfsdf';
});
if (hasMatch) {
alert('contains');
}
由于数组中有对象而不是字符串,我建议使用 jQuery 的 grep
方法:
var result = $.grep( open_chats, function( data ){ return data.chatid == 'dfsfsdfsdf'; });
if( result.length ) {
alert('contains');
}
相关文章:
- 查找对象数组是否包含其中一个标记的最快方法
- 检查数组是否包含
- 确定数组是否包含偶数
- 在 JavaScript 中连接字符串或数组是否更快
- 检查对象数组是否具有所有必需的键
- 检查数组是否包含指定的对象
- 在通过套接字发送到客户端之前压缩中等大小的javascript数组是否值得
- 检查数组是否有空元素
- 检查输入框的数组是否为空
- 如何检查JSON数组是否等于
- 检查数组是否已定义并且具有长度
- 检查数组是否包含特定对象
- 什么'最合适的数据结构是什么?(使用一个有间隙的数组是否存在缺点或注意事项?)
- 如何检查子集数组是否包含超集数组之一
- 检查对象数组是否包含布尔值true/false
- 检查数组是否在MongoDB文档中包含帖子ID
- 检查数组是否包含允许或不允许的字符
- 检查 javascript 数组是否不仅包含空值
- 在循环时修改数组是否安全
- 列表/数组是否有效 JSON