我有一个像这样的 JavaScript 普通对象:{a: {b: 1} }
我想将其转换为点符号字符串,如下所示a.b = 1
用例:
将对象发送到纯文本环境(例如 cli)或作为 url 参数。
很难判断这是否是您想要的,但是这样的东西会将对象树扁平化为点路径列表......
var data = {
a: {
b: 1,
c: {
d: 8
}
},
e: {
f: {
g: 9
},
h: 10,
i: [1, 2, 3]
}
};
function toDotList(obj) {
function walk(into, obj, prefix = []) {
Object.entries(obj).forEach(([key, val]) => {
if (typeof val === "object" && !Array.isArray(val)) walk(into, val, [...prefix, key]);
else into[[...prefix, key].join(".")] = val;
});
}
const out = {};
walk(out, obj);
return out;
}
console.log(toDotList(data));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)