/** * 男生MAP */ let GENDER_0 = [ // 一年级 [ //低体重 [ 0, 13.4 ], //正常 [ 13.5, 18.1 ], // 超重 [ 18.2, 20.3 ], // 肥胖 [ 20.4, 22.2 ] ], // 二年级 [ //低体重 [ 0, 13.6 ], //正常 [ 13.7, 18.4 ], // 超重 [ 18.5, 20.4 ], // 肥胖 [ 20.5, 22.3 ] ], // 3年级 [ //低体重 [ 0, 13.8 ], //正常 [ 13.9, 19.4 ], // 超重 [ 19.5, 22.1 ], // 肥胖 [ 22.2, 24 ] ], // 4年级 [ //低体重 [ 0, 14.1 ], //正常 [ 14.2, 20.1 ], // 超重 [ 20.2, 22.6 ], // 肥胖 [ 22.7, 24.5 ] ], // 5年级 [ //低体重 [ 0, 14.3 ], //正常 [ 14.4, 21.4 ], // 超重 [ 21.5, 24.1 ], // 肥胖 [ 24.2, 26.0 ] ], // 6年级 [ //低体重 [ 0, 14.6 ], //正常 [ 14.7, 21.8 ], // 超重 [ 21.9, 24.5 ], // 肥胖 [ 24.6, 26.4 ] ] ]; // 1.8 /** * 女生MAP */ let GENDER_1 = [ // 一年级 [ //低体重 [ 0, 13.2 ], //正常 [ 13.3, 17.3 ], // 超重 [ 17.4, 19.2 ], // 肥胖 [ 19.3, 20.8 ] ], // 二年级 [ //低体重 [ 0, 13.4 ], //正常 [ 13.5, 17.8 ], // 超重 [ 17.9, 20.2 ], // 肥胖 [ 20.3, 21.8 ] ], // 3年级 [ //低体重 [ 0, 13.5 ], //正常 [ 13.6, 18.6 ], // 超重 [ 18.7, 21.1 ], // 肥胖 [ 21.2, 22.7 ] ], // 4年级 [ //低体重 [ 0, 13.6 ], //正常 [ 13.7, 19.4 ], // 超重 [ 19.5, 22.0 ], // 肥胖 [ 22.1, 23.6 ] ], // 5年级 [ //低体重 [ 0, 13.7 ], //正常 [ 13.8, 20.5 ], // 超重 [ 20.6, 22.9 ], // 肥胖 [ 23, 24.5 ] ], // 6年级 [ //低体重 [ 0, 14.1 ], //正常 [ 14.2, 20.8 ], // 超重 [ 20.9, 23.6 ], // 肥胖 [ 23.7, 25.2 ] ] ]; // 1.5 function computedBmi(num, type, grade){ debugger if(num<=8){ num = 8 } if(num>=30){ num = 30 } let arr = [] let result let findArr = [] let findIndex = -1 if (type==1) { arr = GENDER_0[grade-1] } if (type==2) { arr = GENDER_1[grade-1] } arr.forEach((ele, index)=>{ if (num > arr[arr.length-1][1]) { result = 100 findIndex = 0 return } if ((num - ele[0])==0) { num = num*1 + 0.2 } if (ele[0] <= num && num <= ele[1]) { findIndex = index result = ((num - ele[0]) / (ele[1]-ele[0])) * 25 } }) return (result + ((findIndex) * 25) ) } export default computedBmi