React Native JSX向数组匹配类目对象push数据报TypeError如何解决
错误原因
data数组中的每一项都是存储分类信息的普通对象,push是仅数组可用的方法,对普通对象调用push方法就会触发你遇到的类型错误。同时你需要先给匹配的分类项初始化packages数组属性,才能把匹配到的package数据存入对应位置。
修复代码
data.forEach((category) => { // 初始化packages数组,避免重复初始化覆盖已有数据 category.packages = category.packages || [] packages.forEach((pckg) => { if(pckg.identifier === category.package_id){ // 往packages数组中推入匹配项 category.packages.push(pckg) } }) }) console.log(data)
可选优化
如果不想修改原始的data数组,可以先对data做深拷贝后再执行上述操作,避免污染原始数据。
内容的提问来源于stack exchange,提问作者Noman Ali
相关产品推荐
相关产品推荐

