須要本身作一份有關數字的json文件,發現json數據局部有規律,能夠經過批量key運算,減小手動輸入的操做。看了不少辦法,最終採用了,對象轉字符串的操做方法,替換掉對應的數據。json
需求:批量對'16.23'這一列作數學運算,譬如+0.6code
let s = { '16.23': 55, '16.18': 60, '16.13': 65, '16.09': 66, '16.05': 67, '16.01': 68, '15.57': 69, '15.53': 70, '15.50': 71, '15.47': 72, '15.44': 73, '15.41': 74, '15.38': 75, '15.35': 76, '15.32': 77, '15.29': 78, '15.26': 79, '15.23': 80, '15.20': 81, '15.17': 82, '15.14': 83, '15.11': 84, '15.08': 85, '15.05': 86, '15.02': 87, '14.59': 88, '14.56': 89, '14.53': 90, '14.50': 91, '14.47': 92, '14.44': 93, '14.41': 94, '14.38': 95, '14.33': 96, '14.28': 97, '14.23': 98, '14.18': 99, '14.13': 100 } let json = JSON.stringify(s) let len = json.length json = json.substring(1, len - 1) len = json.length for (let m = 0; m < 11; m++) { for (let i = 0; i < (len / 11); i++) { let begin = 11 * i let num = parseFloat(json.substring(begin + 1, begin + 6)) - 0.13 let f = num - Math.floor(num) if (f > 0.6) { // f = f - 0.6 // num = Math.floor(num) + 1 + f f = f - 0.4 num = Math.floor(num) + f } let str = '"' + num.toFixed(2) + '"' json = json.substring(0, begin) + str + json.substring(begin + 7, len) } console.log(json) }