在 <script> 内访问 Nunjucks 模板中的数组
Accessing arrays in Nunjucks template within <script>
我在服务器端有一个数组,每 10 分钟将数字 1 添加一次。例如[1, 1, 1, 1....]
我按如下方式将其发送到模板(data() 是我上面示例中的数组):
router.get('/', (req, res) => {
return res.render('index', {
results: data(),
});
});
我在模板上有一个呈现图形的脚本。为此,数组需要可在脚本中访问。
当我通过以下方式访问数组时:
var results = "{{ results }}";
数组最终如下:
["1, 1, 1, 1"]
我需要不带双引号的数组。这可能吗?
[1, 1, 1, 1]
您可以在服务器或客户端上更改它 - 我想说让我们在客户端上进行吧。
整个数组由 1 个点组成,所有值都用逗号分隔。
我们首先使用 (["1, 1, 1, 1"][0]) 获取数据块 - 这将 return 只是数组中包含所有数据的第一个位置。
然后我们清除所有空格 (.replace(/\s/g,'')。
把它变成一个真正的数组(split(","))。
然后将每个字符串数字转换为真实数字 (.map(function(e){return Number(e);}))
删除:.map(function(e){return Number(e);}) 如果你不关心数字是否是字符串。
var results = ["1, 1, 1, 1"][0];
var result = results.replace(/\s/g,'').split(",").map(function(e){return Number(e);});
console.log(result);
我在服务器端有一个数组,每 10 分钟将数字 1 添加一次。例如[1, 1, 1, 1....]
我按如下方式将其发送到模板(data() 是我上面示例中的数组):
router.get('/', (req, res) => {
return res.render('index', {
results: data(),
});
});
我在模板上有一个呈现图形的脚本。为此,数组需要可在脚本中访问。
当我通过以下方式访问数组时:
var results = "{{ results }}";
数组最终如下:
["1, 1, 1, 1"]
我需要不带双引号的数组。这可能吗?
[1, 1, 1, 1]
您可以在服务器或客户端上更改它 - 我想说让我们在客户端上进行吧。
整个数组由 1 个点组成,所有值都用逗号分隔。
我们首先使用 (["1, 1, 1, 1"][0]) 获取数据块 - 这将 return 只是数组中包含所有数据的第一个位置。
然后我们清除所有空格 (.replace(/\s/g,'')。
把它变成一个真正的数组(split(","))。
然后将每个字符串数字转换为真实数字 (.map(function(e){return Number(e);}))
删除:.map(function(e){return Number(e);}) 如果你不关心数字是否是字符串。
var results = ["1, 1, 1, 1"][0];
var result = results.replace(/\s/g,'').split(",").map(function(e){return Number(e);});
console.log(result);