js 数据转换(点连接的key名)& 深度合并 - 戴向天

193 阅读1分钟

大家好!我叫戴向天

QQ群:602504799

如若有不理解的,可加QQ群进行咨询了解

辅助工具

JS 【getType】精准获取数据类型加判断 - 戴向天

JS 【dataDeepMerge】数据深度合并

 function toRightParms (params = {}, isRetain = true) {
  // 获取为点连接的key名称
  const keys = Object.keys(params).filter(key => key.indexOf('.') > 0)
  // 获取合并后的结果
  const res = keys.reduce((obj, key) => dataDeepMerge(obj, strToObject(key, params[key])), {})
  // 合并原有的数据
  const merge = dataDeepMerge(params, res)
  // 是否保留原有的字段信息
  if (isRetain) {
    return merge
  }
  // 返回过滤后的最终的结果
  return Object.keys(merge).reduce((total, key) => {
    if (keys.indexOf(key) < 0) {
      total[key] = merge[key]
    }
    return total
  }, {})
}