如何在不使用JQuery的情况下查看数组是否包含对象
How see if array contains object without using JQuery
我有一个数组,如下所示:
var myArray = [
{'id' : 1, 'name' : 'test1'},
{'id' : 2, 'name' : 'test2'},
{'id' : 3, 'name' : 'test3'}
];
然后我有一个包含一些id的变量:
v ar someId = 2;
如何检查myArray
是否包含一个Object
,其id等于someId
?
您可以使用.some()
方法:
var isThere = myArray.some(function(element) {
return element.id == someId;
});
如果回调返回某个元素的true
,则.some()
方法返回布尔值true
。一旦发生这种情况,迭代就会停止。
如果您想要数组中的元素,而不仅仅是一个是/否答案,那么您可以向.find()
:传递相同类型的回调
var theElement = myArray.find(function(element) {
return element.id == someId;
});
当该回调返回true
时,迭代停止,.find()
返回元素本身。如果未找到,则返回undefined
。
您可以尝试以下
var filteredArray = myArray.filter(function(item) {
return item.id == someId
});
if(filteredArray.length > 0) {
console.log("Found");
}
香草JS:
var myArray = [
{'id' : 1, 'name' : 'test1'},
{'id' : 2, 'name' : 'test2'},
{'id' : 3, 'name' : 'test3'}
];
function findby(arr, key, val){
for(var i=0; i<arr.length; i++){
if(arr[i][key] === val){
return arr[i];
}
}
return null;
}
var found = findby(myArray, "id", 2);
alert(found.name);
相关文章:
- 查找对象数组是否包含其中一个标记的最快方法
- 检查数组是否包含
- 确定数组是否包含偶数
- 在 JavaScript 中连接字符串或数组是否更快
- 检查对象数组是否具有所有必需的键
- 检查数组是否包含指定的对象
- 在通过套接字发送到客户端之前压缩中等大小的javascript数组是否值得
- 检查数组是否有空元素
- 检查输入框的数组是否为空
- 如何检查JSON数组是否等于
- 检查数组是否已定义并且具有长度
- 检查数组是否包含特定对象
- 什么'最合适的数据结构是什么?(使用一个有间隙的数组是否存在缺点或注意事项?)
- 如何检查子集数组是否包含超集数组之一
- 检查对象数组是否包含布尔值true/false
- 检查数组是否在MongoDB文档中包含帖子ID
- 检查数组是否包含允许或不允许的字符
- 检查 javascript 数组是否不仅包含空值
- 在循环时修改数组是否安全
- 列表/数组是否有效 JSON