新手开发者求助:如何用AWS Lambda函数实现数组答案验证
实现数组验证的AWS Lambda函数方案
直接给你清晰的实现思路和代码示例,基于Node.js(Lambda最常用的运行时之一):
核心逻辑
- 按指定顺序(food → snacks → drinks)提取待验证字段
- 对每个字段,检查用户输入的值是否存在于正确答案的对应数组中
- 收集所有检查结果,返回布尔值数组
完整Lambda代码示例
exports.handler = async (event) => { // 从Lambda事件中获取输入数据(生产环境推荐方式),保留默认值方便测试 const userInput = event.userInput || {"food":"ribs", "snacks":"doritos", "drinks":"pepsi"}; const correctAnswers = event.correctAnswers || { "answer": { "food": ["ribs", "pasta", "ramen"], "snacks": ["doritos", "cheetos", "popcorn"], "drinks": ["orange juice", "apple juice"] } }; // 固定验证顺序,确保结果顺序符合要求 const checkFields = ['food', 'snacks', 'drinks']; const validationResult = []; for (const field of checkFields) { // 容错处理:字段缺失时默认返回false const userValue = userInput[field]; const validOptions = correctAnswers.answer?.[field] || []; // 判断值是否在有效数组中,推入结果数组 validationResult.push(validOptions.includes(userValue)); } return { statusCode: 200, body: JSON.stringify(validationResult) }; };
代码说明
- 输入灵活性:通过
event传递输入数据,避免硬编码,适配不同场景 - 顺序可控:用
checkFields数组固定验证顺序,保证结果为[true, true, false] - 容错机制:用可选链
?.和默认值,防止因字段缺失导致函数报错 - 简洁验证:利用数组
includes()方法直接完成存在性判断,逻辑清晰
测试方法
在Lambda控制台的测试事件中传入如下JSON,执行后即可得到目标结果:
{ "userInput": {"food":"ribs", "snacks":"doritos", "drinks":"pepsi"}, "correctAnswers": { "answer": { "food": ["ribs", "pasta", "ramen"], "snacks": ["doritos", "cheetos", "popcorn"], "drinks": ["orange juice", "apple juice"] } } }
内容的提问来源于stack exchange,提问作者PhuongHoang6897
相关产品推荐
相关产品推荐

