繁体   English   中英

检查对象元素是否存在于数组中

[英]Check if object element exists in array

经过一些网页someObjArr之后,我得到了一个名为someObjArr的名称数组。

数组看起来像这样: [ { name: Joe 'Panik' } ]

我想检查此数组中是否存在名称,这是我的代码:

例如:

        var someObjArr = [];

        var filter = $('a.player-link').each(function(i, element) {
        var text = $(this).text();
        if(someObjArr[i] == undefined){
            someObjArr[i] = {};
        };
        someObjArr[i].name = text;

        function nameExistsInArray(name, array) {
            for(var i = 0; i < array.length; i++)(function(obj) {
                if(obj.name == name) {
                    return true;
                }
            })
            return false;
        };
            var exists = nameExistsInArray('Joe Panik', [{ name: 'Joe Panik' }]);
            console.log(exists);
        });

该脚本的输出将false数组中的每个项目返回。

这样的事情怎么样?

function nameExistsInArray(name, array) { 
  for(var i = 0; i < array.length; i++) {
    if(array[i].Name == name) {
      return true;
    }
  }
  return false;
};

用法:

var exists = nameExistsInArray('Joe Panik', [{ Name: 'Joe Panik' }]);

说明:您要确定string类型的某些名称是否等于array objectName属性之一。

在我们的函数中,我们将传递一个string名称和一个具有Name属性的object array 然后,我们将使用for循环遍历array每个obj ,然后访问Name属性并将其与name参数进行比较。 当我们看到它时, return true ,但是如果我们遍历了每个元素并且没有找到匹配项,那么我们将return false

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM