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);
JS前端 字典降维
最新推荐文章于 2024-09-16 08:47:17 发布