1.注意:本教程使用替换的方法只适用于 键值对为 [{"name":"1301","data","1"}]此类型的数据
2.我要干什么:我将会把后台返回的 JSON 数据中地区的区号转换为实际的地区名称,并且将重复地区的 data 相加
数据为:
var data = [ {"name":"1301","data":"1"}, {"name":"1301","data":"2"}, {"name":"1301","data":"0"}, {"name":"1302","data":"10"}, {"name":"1302","data":"20"}, {"name":"1303","data":"122"}, {"name":"1305","data":"13"} ];
name 去重 data 相加方法
/* *参数 * bef_obj : 需要替换的json对象 * aft_obj : 替换之后的json对象 * * return : 返回操作号的JSON对象 * warning : 如果需要操作的对象为空、为未定义、为空字符串都会返回-1,传参错误也会返回-1 */ function Dist_Num_Repl(bef_obj,aft_obj){ if(bef_obj==="undefined" && bef_obj === "" && bef_obj === null) return -1 bef_obj.forEach(el=>{ const result = data3.findIndex(ol=>{return el.name === ol.name}) if(result!== -1){ data3[result].data = Number(data3[result].data) + Number(el.data) }else{ el.data = Number(el.data) data3.push(el) } }) return data3 }
替换区号为地区名方法
/* * param:obj_传入JSON对象 * return : 返回替换好的JSON对象 * warning:如果obj是空或等于空字符串或为空都会导致程序结束并返回-1 */ function To_Rep_It(obj){ if(obj === "undefined" && obj === null && obj === "") return -1 obj = JSON.stringify(obj) var af_o = obj.replace("1301","石家庄") .replace("1302","唐山") .replace("1303","秦皇岛") .replace("1305","邢台") .replace("1304","邯郸") .replace("1306","保定") .replace("1307","张家口") .replace("1308","承德") .replace("1309","沧州") .replace("1310","廊坊") .replace("1311","衡水") return JSON.parse(af_o) }
使用方法
//首先定义一个变量用来接受去重并将data相加的数组 let re_data = [] //调用去重data属性相加方法,data为要操作的JSON对象,re_data是操作之后的JSON对象 re_data = Dist_Num_Repl(data,re_data) //调用替换地区代码方法 re_data = To_Rep_It(re_data)
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于