同一段代码,在开发工具和 iOS 平台上可以运行,在安卓报错
公司的小程序的业务逻辑涉及到将存在父子关系的扁平数组转为树形数据的操作。 但是此段代码在开发工具和 iOS平台均可运行,但是在安卓却报了很难理解的错误,代码如下 [代码]listToTree: [代码][代码]function[代码][代码](list) {[代码][代码] [代码][代码]let map = {},[代码][代码] [代码][代码]tree = [][代码] [代码] [代码][代码]list.forEach(item => {[代码][代码] [代码][代码]item.children = [][代码][代码] [代码][代码]map[item.cat_real_id] = item[代码][代码] [代码][代码]})[代码] [代码] [代码] [代码] [代码][代码]list.forEach(item => {[代码][代码] [代码][代码]if[代码] [代码](item.pid !== [代码][代码]'-1'[代码][代码]) {[代码][代码] [代码][代码]console.log(map[item.pid]) [代码][代码]// Android:undefined[代码][代码] [代码][代码]map[item.pid].children.push(item)[代码][代码] [代码][代码]} [代码][代码]else[代码] [代码]{[代码][代码] [代码][代码]tree.push(item)[代码][代码] [代码][代码]}[代码][代码] [代码][代码]})[代码] [代码] [代码][代码]return[代码] [代码]tree[代码][代码]}[代码] pid 和 cat_real_id 为确认父子关系的属性,cat_real_id(父级) === pid(子级)。当 pid == '-1' 时,为顶级 测试数据地址:https://jsbin.com/mapawem/edit?js