我试图将一个变量传递给一个字符串,同时将字符串本身插入一个现有数组,如下所示:
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 %}
我没有提到逻辑,因为我没有看到它会如何干扰。我已经确认:
- 所有符合逻辑的行为都符合预期
- INSTANCE 实际上等于“DEVELOPMENT”
- 并且那行 Javascript 在源代码中是可见的,如果逻辑出现问题就不会出现这种情况。
但是,如果我删除该 Django 逻辑,则使用 Javascript 的所有内容都会按预期工作。
出于某种原因,此服务器端逻辑阻止我将任何 外部值传递到数组、客户端或服务器端。
作为实验,我尝试了这个...
myArray.push(['item one', '/path/to/{{ block slug }}undefined{{ endblock }}/']);
...在子模板中包含以下内容。
{{ block slug }}slug{{ endblock }}
同样的事情发生了。模板逻辑就位后,值为 /path/to/undefined
。没有它,该值是所需的 /path/to/slug
。
为什么会这样对我来说是个谜。我可以解决它,但如果有人有任何想法,我很想听听他们的意见。
再次感谢。
新手问题:更改帖子标题有什么礼节?
最佳答案
也许您打算用 concat()
连接 Array
?目前,您正在将一个新的 Array
作为成员推送到现有的 Array
上,从而产生一个多维的 Array
。
我还假设 myArray
已经指向一个 Array
。如果没有,只需执行 var myArray = []
。
关于javascript - 将变量传递给被插入现有数组的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6118241/