小编Beb*_*Pig的帖子

有没有一种方法可以通过分配属性来自动创建 JavaScript 对象?

我正在做一个项目,需要通过 JSON 将 Perl 对象传递给 javascript。我面临“中间”对象定义方面的问题。

在Perl中,对象由散列表示,程序员不必在“中间”定义任何东西。创建属性后,所有中间对象都会自动创建为哈希引用。例如

$graph{chart}{yAxis}{title} = "Temperature Tracking";
Run Code Online (Sandbox Code Playgroud)

但是,一旦将此对象传递给 Javascript,如果我想在“中间”对象中添加任何新属性,例如:

graph.chart.xAxis.title = "Time Sequence";
Run Code Online (Sandbox Code Playgroud)

我会遇到“未定义的 graph.chart.xAxis”错误。与 Perl 不同,如果我们简单地为其分配属性,Javascript 不会自动创建对象。

目前我必须使用以下解决方案:

if (!graph.chart.xAxis) {
  graph.chart.xAxis = {};
  graph.chart.xAxis.title = "Time Sequence";
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,在我们的项目中,从 Perl 传递的对象非常动态,并且还有许多 Javascript 可能不知道的其他对象。上述方式使得 JS 代码相当冗长且“难看”。有没有更好的解决方案可以使 Javascript 表现得像 Perl,这意味着我不必手动创建中间对象?

javascript perl

5
推荐指数
1
解决办法
665
查看次数

如何在Perl的正则表达式中使用命名后向引用到mach多次出现?

我试图从JSON输出中删除所有数组中的数字的双引号.例如

["123","345","5567" ...]
Run Code Online (Sandbox Code Playgroud)

应成为:

[123, 345, 5567 ...]
Run Code Online (Sandbox Code Playgroud)

我可以使用以下内容找到数组部件:

/\[("(?<name>\d+)"[,]*)*\]/
Run Code Online (Sandbox Code Playgroud)

但是,我没有成功替换(?<name>\d+),$+{name}因为有多次出现$+{name}......有人可以解雇我吗?

regex perl

0
推荐指数
1
解决办法
86
查看次数

标签 统计

perl ×2

javascript ×1

regex ×1