处理oracle数据方式


            var renderDB = function(list) {
                let {connectinfo, waitevent, sessioninfo} = list;
                // 数据重组
                let newArr = [];
                for (let key in connectinfo) {
                    for (let j in sessioninfo) {
                        if (sessioninfo[j].instance_name == connectinfo[key].instance_name) {
                            connectinfo[key].sessioncount = sessioninfo[j].sessioncount;
                            connectinfo[key].SESSIONTHRESHOLD = sessioninfo[j].SESSIONTHRESHOLD;
                            connectinfo[key].sessioninfo_status = sessioninfo[j].AVAILABILITY_STATUS
                        }
                    }

                    let arr = [];
                    for (let i = 0; i < waitevent.length; i++) {
                        if (waitevent[i].instance_name == connectinfo[key].instance_name) {
                            let obj = {
                                events: waitevent[i].events,
                                cnt: waitevent[i].cnt,
                                status: waitevent[i].AVAILABILITY_STATUS
                            };
                            arr.push(obj);
                        }
                    }
                    connectinfo[key].waitevent = arr;
                    newArr.push(connectinfo[key]);
                }

                // red部分提取 yellow部分提取
                let errorArr = [];
                let warnArr = [];
                let succArr = [];
                for (let kk in newArr) {
                    let isRed = false;
                    let isYellow = false;

                    if (newArr[kk].sessioninfo_status == 'red') {
                        isRed = true;
                    }

                    if (newArr[kk].dbstatus == 'died') {
                        isRed = true;
                    }

                    for (let i = 0; i < newArr[kk].waitevent.length; i++) {
                        if (newArr[kk].waitevent[i].status == 'red') {
                            isRed = true;
                        } else {
                            if (newArr[kk].waitevent[i].status == 'yellow') {
                                isYellow = true;
                            }
                        }
                    }

                    if (isRed) {
                        newArr[kk].status = 'error';
                        errorArr.push(newArr[kk]);
                        //newArr.splice(kk, 1);
                    } else if (isYellow) {
                        newArr[kk].status = 'warn';
                        warnArr.push(newArr[kk]);
                        //newArr.splice(kk, 1);
                    } else {
                        succArr.push(newArr[kk]);
                              }
      


 



                }

                let newArrs = errorArr.concat(warnArr,succArr);
                console.log(newArrs);

                renderHTML(newArrs);
            };
原文地址:https://www.cnblogs.com/hzcya1995/p/13348727.html