更改对象上的循环以更好地运行

Change loop on object to run better

本文关键字:更好 运行 循环 对象      更新时间:2023-09-26

我得到以下对象数组,并找到匹配的特定对象属性这是数组

我试图找到如果路径等于reqPath,如果是,退出与true。

 {
      "prov": [
        {
          "sa": {
            "path": "test2",
            "fn": "save"
          },
          "del": {
            "path": "test1",
            "fn": "delete"
          }
        }
  ]
}

下面的代码是工作OK,但我的问题是有一种方法与loadash或其他工具来写它更好/更好?

validatePath: function (configs, reqPath) {
        var isValid = false;
        _.each(configs, function (config) {
            _.each(config, function (providers) {
                providers.forEach(function (keys) {
                    _.each(keys, function (properties) {
                        if (properties.path === reqPath) {
                            isValid = true;
                        }
                    });
                });
            });
        });
        return isValid;
    }
};
var passed = _.filter(configs, function(config) {
    return config.prov.some(function(obj) {
        return obj.path === reqPath;
    });
});

这将过滤那些至少有一个属性对象通过过滤器的提供商的配置。