Javascript 减少循环或代码可读性问题的数量

Javascript 减少循环或代码可读性问题的数量,javascript,node.js,Javascript,Node.js,代码按预期工作,但是否有办法减少循环数或提高此代码对ES6/ES7的可读性?如您所见,我正在重复.split和.join 它将把Total.Subtotal:“10.50转换成一个包含字段名和更新字符串的数组 { "Update": "+Total.+Subtotal = val:TotalSubtotal", "Field": { "+Total": "Total", "+Subtotal": "Subtotal" }, "Value

代码按预期工作,但是否有办法减少循环数或提高此代码对ES6/ES7的可读性?如您所见,我正在重复
.split
.join

它将把
Total.Subtotal:“10.50
转换成一个包含字段名和更新字符串的数组

  {
    "Update": "+Total.+Subtotal = val:TotalSubtotal",
    "Field": {
      "+Total": "Total",
      "+Subtotal": "Subtotal"
    },
    "Value": {
      "val:TotalSubtotal": "10.50"
    }
  }
函数createMap(val){
常量映射=[];
Object.keys(val.forEach)(条目=>{
const param=entry.split('.').join('');
常量名称={};
for(条目的常量名称。拆分('.')){
名称[`+${name}`]=name;
}
const setName=Object.keys(name).join(“.”);
地图推送({
更新:`${setName}=val:${param}`,
字段:名称,
值:{[`val:${param}`]:val[entry]},
});
});
返回地图;
}
console.log(
创建地图({
“总计.小计”:“10.50”
})
)
有几个想法:

  • 将任何重复的逻辑提前移动到函数中并重用,这意味着您只需要计算一次
  • 尝试使用and等数组方法,这样可以避免编写奇怪的for循环等
  • 函数createMap(val){
    返回Object.keys(val.map)(条目=>{
    const splitValues=entry.split('.');
    const param=splitValues.join(“”);
    const names=splitValues.reduce((对象,当前值)=>{
    返回{…obj,[`+${currentValue}`]:currentValue};
    }, {});
    const setName=Object.keys(names.join('.');
    返回{
    更新:`${setName}=val:${param}`,
    字段:名称,
    值:{[`val:${param}`]:val[entry]}
    };
    });
    }
    console.log(
    创建地图({
    “总计.小计”:“10.50”
    })
    
    );关于优化工作代码的问题更适合于