JavaScript如何检测数组对象answer1字段含Y值并提前终止遍历
answer1字段Y值检测实现方案
你之前使用的Array.prototype.some()方法天然满足「匹配到目标值立即终止遍历」的特性,直接基于该方法实现即可,无需额外编写循环中断逻辑。
实现逻辑
- 遍历每个数据项时,首先打印当前项的
answer1字段值 - 判断当前项
answer1是否为"Y",命中则返回true,some()方法会立刻终止后续遍历 - 遍历全部结束后,根据
some()的返回值输出对应结果日志
完整代码
const data = [ { "filename": "deletetestOne.js", "answer1": "Y", "answer2": "N", "riskLevel1": "2", "description": "" }, { "filename": "deletetestThird.js", "answer1": "N", "answer2": "N", "riskLevel1": "1", "description": "" } ] const hasYInAnswer1 = data.some((item) => { // 输出当前遍历到的answer1值 console.log(item.answer1); // 命中Y时终止遍历 return item.answer1 === "Y"; }); console.log(hasYInAnswer1 ? "Found Y in answer1" : "Didn't find Y in answer1");
运行效果说明
- 当数据中存在
answer1: "Y"的条目时,控制台会先打印命中位置之前所有条目的answer1值,随后输出Found Y in answer1,不会继续遍历后续条目 - 当遍历完所有条目都未找到值为
Y的answer1时,控制台会打印所有条目的answer1值,最后输出Didn't find Y in answer1
内容的提问来源于stack exchange,提问作者Tan
相关产品推荐
相关产品推荐

