javascript - 如何查找对象是否存在于数组中javascript

标签 javascript jquery

我在 javascript 中有一个对象数组。类似这样的东西:

    var objectArray = [
         { "Name" : "A", "Id" : "1" },
         { "Name" : "B", "Id" : "2" },
         { "Name" : "C", "Id" : "3" },
         { "Name" : "D", "Id" : "4" }
    ];

现在我试图通过内置函数(如 inArrayindexOf)找出具有给定属性 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/

相关文章:

添加回调函数时 JavaScript 停止工作

javascript - 断言错误 : expected {} to be a function

javascript - 使用 jQuery 的简单文本突出显示

javascript - 使用 jQuery 将工具提示添加到 DataTable 中的 TD

在 .each 中设置 JavaScript/jQuery clearInterval

javascript - AngularJS - ng-repeat - 有条件地附加 html

javascript - Firebase 函数。httpsCallable(...).then 不是函数

javascript - Nativescript旋转动画无限迭代不起作用

javascript - jquery 在()之后重置

javascript - 国家/州动态下拉列表