我有一个 JavaScript 对象数组。与此类似的东西:
var objectArray = [
{ "Name" : "A", "Id" : "1" },
{ "Name" : "B", "Id" : "2" },
{ "Name" : "C", "Id" : "3" },
{ "Name" : "D", "Id" : "4" }
];
现在我试图找出一个对象是否具有给定的属性Name
值存在于数组中或不存在于内置函数中,例如inArray
, indexOf
等。意思是如果我只有一个字符串C
是否可以使用诸如indexOf、in Array等内置函数来检查数组中是否存在具有属性名称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];
}
}
}
Usage
// Find whether object exists in the array
var a = pluckByName(objectArray, 'A', true);
// Pluck the object from the array
var b = pluckByName(objectArray, 'B');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)