javascript - 将变量传递给被插入现有数组的字符串

标签 javascript django arrays

我试图将一个变量传递给一个字符串,同时将字符串本身插入一个现有数组,如下所示:

var myVar = 'slug';

myArray.push(['item one', '/path/to/' + myVar + '/']);

这根本不起作用。我可以看到为 myVar 分配了正确的值;然而,数组中的 myVar 甚至没有被识别为变量。

这看起来很简单,但我显然遗漏了一些东西。

感谢您的帮助。

编辑:毕竟不是 Javascript 问题。

正如亚历克斯所展示的,这绝对正常有效。 (是的,这是一个现有的数组。)

但是,我没有提到 push 方法被包装在一些 Django 模板逻辑中,让它只在我的开发实例上运行,如下所示:

{% ifequal INSTANCE 'DEVELOPMENT' %]
myArray.push(['item one', '/path/to/' + myVar + '/']);
{% endifequal %}

我没有提到逻辑,因为我没有看到它会如何干扰。我已经确认:

  1. 所有符合逻辑的行为都符合预期
  2. INSTANCE 实际上等于“DEVELOPMENT”
  3. 并且那行 Javascript 在源代码中是可见的,如果逻辑出现问题就不会出现这种情况。

但是,如果我删除该 Django 逻辑,则使用 Javascript 的所有内容都会按预期工作。

出于某种原因,此服务器端逻辑阻止我将任何 外部值传递到数组、客户端或服务器端。

作为实验,我尝试了这个...

myArray.push(['item one', '/path/to/{{ block slug }}undefined{{ endblock }}/']);

...在子模板中包含以下内容。

{{ block slug }}slug{{ endblock }}

同样的事情发生了。模板逻辑就位后,值为 /path/to/undefined。没有它,该值是所需的 /path/to/slug

为什么会这样对我来说是个谜。我可以解决它,但如果有人有任何想法,我很想听听他们的意见。

再次感谢。


新手问题:更改帖子标题有什么礼节?

最佳答案

It definitely works .

也许您打算用 concat() 连接 Array?目前,您正在将一个新的 Array 作为成员推送到现有的 Array 上,从而产生一个多维的 Array

我还假设 myArray 已经指向一个 Array。如果没有,只需执行 var myArray = []

关于javascript - 将变量传递给被插入现有数组的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6118241/

相关文章:

javascript - 在 AngularJS 中在哪里包装第三方插件?

JavaScript - window.scroll({ 行为 : 'smooth' }) not working in Safari

python - django 模型保存 - 覆盖迁移期间未调用的方法

javascript - 动态添加元素到数组

php - 如何通过前缀分隔php数组项

javascript - 如何正确使用 Plupload 和 RequireJS?

javascript - 我可以使用 native mqtt 连接到我的 mqtt 代理而不使用 websockets 吗?

django - 在生产中提供 django 媒体(用户上传)文件

Django 自定义模板标签传递可变数量的参数

php - 在数组 php 中搜索信息时缩短脚本