JS前端 字典降维

function flattenDictionary(dict, prefix = '') {
  let result = {};
  for (let [key, value] of Object.entries(dict)) {
    const fullKey = prefix ? `${prefix}.${key}` : key;
    if (typeof value === 'object' && value !== null) {
      // 递归处理嵌套字典
      const nestedResult = flattenDictionary(value, fullKey);
      Object.assign(result, nestedResult);
    } else {
      // 收集非对象类型的值
      result[fullKey] = value;
    }
  }
  return result;
}
 
// 示例使用
const nestedDict = {
  level1: {
    level2: {
      level3: 'value1',
      level4: {
        level5: 'value2'
      }
    }
  },
  levelA: {
    levelB: {
      levelC: 'value3'
    }
  }
};
 
const flatDict = flattenDictionary(nestedDict);
console.log(flatDict);

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值