javascript - 在数组中搜索至少 1 个匹配项并返回 true
问题描述
我需要测试我的 JSON 响应以确保至少 1 个对象包含 isKey:true 值,此时 hasKey 的全局变量设置为 true。
我相信 SOME 方法在这种情况下会有所帮助,但它似乎只在本地级别进行测试,所以如果我 console.log 我得到:true,false,true,true...等
我只想对整个模型有一个明确的真假。
您可以在下面看到一个工作功能的基础,但我不认为它是有效的,所以任何建议都可以改进它。
checkKeys() {
let checkTest: boolean = false;
this.modalData.columnPermissions.some(function (item) {
if (item.isKey) {
checkTest = true;
}
});
this.modalData.hasKey = checkTest;
}
解决方案
你有正确的功能,你只是用错了。
this.modalData.hasKey = this.modalData.columnPermissions.some(function (item) {
return item.isKey;
});
'some' 函数获取返回值并在一个为真时立即停止运行。
'every' 函数获取返回值并在其中一个为 false 时立即停止运行。
推荐阅读
- python - 如何忽略 Pandas 数据框列操作的迭代
- business-intelligence - 从 Qliksense 发布应用程序/工作表的方式有哪些?
- c++ - 替换txt文件中特定行的数据
- java - 我无法在终端上运行 Java
- django - 如何使用 django 消息框架为 @login_required 显示消息
- python - 使用字典理解反转一对多映射
- simd - 我可以将返回 __m128i 的内在结果分配给类型为 __m128i_u 的变量吗?
- javascript - 错误:没有为 google recaptcha 版本 2 定义 grecaptcha
- django - 使用 Axios 发布到 Django 时出现 403 错误
- javascript - 未捕获(承诺中)错误:方案未开始或已结束