我正在尝试构建一个可以扩展对象的函数,例如:
{
'ab.cd.e' : 'foo',
'ab.cd.f' : 'bar',
'ab.g' : 'foo2'
}
进入嵌套对象:
{ab: {cd: {e:'foo', f:'bar'}, g:'foo2'}}
像这个 php 函数: Set::expand()
当然不使用 eval 。
原文由 Olivier 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在尝试构建一个可以扩展对象的函数,例如:
{
'ab.cd.e' : 'foo',
'ab.cd.f' : 'bar',
'ab.g' : 'foo2'
}
进入嵌套对象:
{ab: {cd: {e:'foo', f:'bar'}, g:'foo2'}}
像这个 php 函数: Set::expand()
当然不使用 eval 。
原文由 Olivier 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您使用的是 Node.js(例如 - 如果没有从我们的模块中剪切和粘贴),请尝试这个包: https ://www.npmjs.org/package/dataobject-parser
构建了一个执行正向/反向操作的模块:
https://github.com/Gigzolo/dataobject-parser
它现在被设计为一个自我管理的对象。通过实例化 DataObjectParser 的实例来使用。
var structured = DataObjectParser.transpose({
'ab.cd.e' : 'foo',
'ab.cd.f' : 'bar',
'ab.g' : 'foo2'
});
structured.data()
返回你的嵌套对象:
{ab: {cd: {e:'foo', f:'bar'}, g:'foo2'}}
所以这是 JSFiddle 中的一个工作示例:
原文由 Henry Tseng 发布,翻译遵循 CC BY-SA 3.0 许可协议
13 回答12.9k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
6 回答1.1k 阅读
3 回答1.3k 阅读✓ 已解决
我相信这就是你所追求的: