乐趣区

记一个处理复杂数组的方法

后台获取的数据如下,是一个时间段内的所有数据

由于需求是让这些数据能够可视化,显示每一天变化情况,那么就需要将每一个的值都加到一起

解析过程

let resultData = []
let resultDataId = []
for (let i in result) {for(let j in result[i].usedAppliances){if(resultDataId.indexOf(result[i].usedAppliances[j].kindId) == -1){resultData.push(result[i].usedAppliances[j])
            resultDataId.push(result[i].usedAppliances[j].kindId)
        }else{let index = resultDataId.indexOf(result[i].usedAppliances[j].kindId)
            for(let z in resultData[index].data){resultData[index].data[z].price += ',' + result[i].usedAppliances[j].data[z].price
            }
        }
    }
}  

方法说明

  • 新建两个数组

resultData 存放具体数据

resultDataId 存放 kindId

  • 循环数组

先判断数据的 kindId 是否已经存到 resultDataId

若不存在:将数据及 kindId 分别存入 resultData、resultDataId

若存在:将字段值添加到相应位置

解析完成

完成啦,将几天内的 price 的值都添加到了一起

退出移动版