Angular 11映射quiz_records数组id返回undefined问题排查
问题原因
quiz_records是数组类型,而非单个对象,你直接对数组访问.id属性,数组本身不存在该属性,自然会返回undefined。
修复方案
根据你的实际需求可以选两种实现:
方案1:提取所有id为一维数组
如果你需要把所有quiz_records里的id合并为一个扁平的数组,直接使用flatMap做嵌套遍历即可:
this.quiz_records = res['quizRemarks'].flatMap(remarkItem => { // 遍历当前quizRemark下的所有quiz_records提取id return remarkItem.quiz_records.map(record => record.id) }) // 输出结果示例:[27, 28]
方案2:保留与quizRemarks对应的层级结构
如果你需要每个quizRemarks元素对应一组自己的quiz记录id,使用嵌套的map即可:
this.quiz_records = res['quizRemarks'].map(remarkItem => { return remarkItem.quiz_records.map(record => record.id) }) // 输出结果示例:[[27, 28]]
内容的提问来源于stack exchange,提问作者reginald bollosa
相关产品推荐
相关产品推荐

