如何使用数组解构提取嵌套对象属性?代码返回undefined如何解决
错误原因
你的解构写法默认将json.records识别为对象类型,但实际结构中records是数组类型,它的第一个元素才是包含status属性的对象,因此直接从records上解构status会得到undefined。
正确获取方案
- 方案1:嵌套解构匹配数组结构
const json = {"records":[{"recordid":"1694119","recordindex":1,"status":"updated successfully"}],"message":{"returncode":1}}; // 解构时先匹配数组结构,取第一个元素再提取status const { records: [ { status } ] } = json; console.log(status); // 输出:updated successfully
- 方案2:直接链式取值(可读性更高,适合不需要批量解构的场景)
const status = json.records[0].status; console.log(status); // 输出:updated successfully
内容的提问来源于stack exchange,提问作者Karim Ali
相关产品推荐
相关产品推荐

