共计 949 个字符,预计需要花费 3 分钟才能阅读完成。
需要自己做一份有关数字的 json 文件,发现 json 数据局部有规律,可以通过批量 key 运算,减少手动输入的操作。看了很多办法,最终采用了,对象转字符串的操作方法,替换掉对应的数据。
需求:批量对 ’16.23’ 这一列做数学运算,譬如 +0.6
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)
}
正文完
发表至: javascript
2019-08-31