javascript - 包括函数迭代javascript中的所有数组
问题描述
我有一个代码,它遍历一个对象数组并检查它是否包含管理词。如果它包含,那么我想调用管理 API,如果没有,那么我想调用非管理 API。代码工作正常,但问题是在迭代时说权限包含 5 个对象,第 3 个索引包含管理关键字,然后逻辑调用 2 个非管理 api 和 1 个管理 api,然后再次调用 2 个非管理 api。有没有更好的方法来编写逻辑将检查整个数组是否包含 admin 关键字并且只调用一次 admin API 或 Non-Admin API 的代码。
if (tempAuth && tempAuth.length > 0) {
this.auth = tempAuth.filter(x => {
if (x.authority.includes('admin')) {
// Admin API
this.getalldetails();
}
else {
// Non Admin API
this.getUserdetails();
}
});
解决方案
一种选择是使用该some
方法检查是否满足身份验证条件。然后,您可以使用该布尔值来确定下一步要做什么。
if (tempAuth && tempAuth.length > 0) {
this.auth = tempAuth.some(x => x.authority.includes('admin'));
if (this.auth) {
this.getalldetails();
} else {
this.getUserdetails();
}
}
推荐阅读
- r - 处理字符串相似性的有效方法?
- java - 如何在菜单循环后执行打印语句然后返回主菜单?
- django - Django AJAX 模态未显示
- delphi - 使用 Datasnap 记录 UTF8 字符串时出错
- maxima - MAXIMA 的限制
- java - 为什么 Stream.reduce 采用 BinaryOperator
而不是 BiFunction ? - python - 从 .app 运行时窗口变得模糊/像素化
- flutter - 无法在颤动中显示 BottomNavigationBar
- powershell - Powershell-ImportVM 命令比较 VM 返回预期结果,但是在脚本中使用 import-vm 时会引发错误
- javascript - GraphQL 模式相关查询返回 null