在JavaScript中,将对象的键点符号(例如user.name
)转换为对象树(例如{ user: { name: '' } }
)可以通过递归函数来实现。以下是一个示例代码,展示了如何完成这一转换:
function convertToTree(obj) {
const result = {};
for (const key in obj) {
if (obj.hasOwnProperty(key)) {
const keys = key.split('.');
let current = result;
for (let i = 0; i < keys.length; i++) {
const k = keys[i];
if (i === keys.length - 1) {
current[k] = obj[key];
} else {
if (!current[k]) {
current[k] = {};
}
current = current[k];
}
}
}
}
return result;
}
// 示例用法
const input = {
'user.name': 'Alice',
'user.age': 30,
'user.address.city': 'Wonderland',
'user.address.zip': '12345'
};
const output = convertToTree(input);
console.log(output);
user.name
。{ user: { name: '', age: 30, address: { city: 'Wonderland', zip: '12345' } } }
。通过上述方法和注意事项,可以有效地将对象键点符号转换为对象树,并在实际应用中灵活运用。
领取专属 10元无门槛券
手把手带您无忧上云