Javascript 减少循环或代码可读性问题的数量
代码按预期工作,但是否有办法减少循环数或提高此代码对ES6/ES7的可读性?如您所见,我正在重复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
.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”
})
)
有几个想法:
函数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”
})
);代码>关于优化工作代码的问题更适合于