我在 javascript 中有一个对象数组。类似这样的东西:
var objectArray = [
{ "Name" : "A", "Id" : "1" },
{ "Name" : "B", "Id" : "2" },
{ "Name" : "C", "Id" : "3" },
{ "Name" : "D", "Id" : "4" }
];
现在我试图通过内置函数(如 inArray
、indexOf)找出具有给定属性
等。意味着如果我只有一个字符串 Name
值的对象是否存在于数组中C
是否可以使用 indexOf、inArray 等内置函数检查数组中是否存在属性名称为 C 的对象?
最佳答案
我不会使用索引,类似于 Rahul Tripathi 的评论链接答案,而是使用修改后的版本按名称拉取对象,而不是传递整个对象。
function pluckByName(inArr, name, exists)
{
for (i = 0; i < inArr.length; i++ )
{
if (inArr[i].name == name)
{
return (exists === true) ? true : inArr[i];
}
}
}
用法
// Find whether object exists in the array
var a = pluckByName(objectArray, 'A', true);
// Pluck the object from the array
var b = pluckByName(objectArray, 'B');
关于javascript - 如何查找对象是否存在于数组中javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13207527/