Javascript 将ruby数组转换为java脚本数组

Javascript 将ruby数组转换为java脚本数组,javascript,ruby-on-rails,arrays,ruby,Javascript,Ruby On Rails,Arrays,Ruby,我有一个生成数组的ruby代码。我需要在javascript中使用该数组 <%= region.zip(min, max).select {|_, a, b| a == '0' && b == '0'}.map(&:first)%>; 这是演示 我想在javascript中使用这个数组。下面是我在控制台中尝试的内容和错误 <script> var output = <%= (region.zip(min, max).select {|_

我有一个生成数组的ruby代码。我需要在javascript中使用该数组

<%= region.zip(min, max).select {|_, a, b| a == '0' && b == '0'}.map(&:first)%>;
这是演示

我想在javascript中使用这个数组。下面是我在控制台中尝试的内容和错误

<script>

 var output = <%= (region.zip(min, max).select {|_, a, b| a == '0' && b == '0'}.map(&:first)).gsub('"', '') %>;

</script>

感谢

JSON是技术上有效的Javascript,因此您可以执行以下操作:

 var output = <%= (region.zip(min, max).select {|_, a, b| a == '0' && b == '0'}.map(&:first)).map{|item| item.gsub('"', '')}.to_json %>;
var输出=;
这应该如预期的那样起作用

注意:我在Ruby代码的末尾添加了
。\u json

我以前是以“标准”的方式编写JS,将json存储在变量中,现在我强烈建议使用:

这很好,允许您在控制器类型中轻松处理这种情况:

gon.push({variable_name: [1,2,3]})
在应用程序布局中使用:

<%= include_gon %>
<!-- include your action js code -->

这实际上是杰里米修改后的答案

 var output = <%= raw(region.zip(min, max).select {|_, a, b| a == '0' && b == '0'}.map(&:first).map{|item| item.gsub('"', '')}.to_json) %>
var输出=

我尝试了..得到了这个错误未定义[“A”、“B”、“C”、“F”、“H”]的方法“gsub”:数组删除
gsub(…)
。我认为实际上不需要这样做。或者,如果字符串中仍有引号,您可以在另一个
map
中运行
gsub
。不能对整个数组调用
gsub
的原因是
gsub
只能对单个字符串调用。因此,也许你想做一些类似于
…).map{item | item.gsub('“,'')}
抱歉..更新的解决方案有效..获取原始错误OK,如果所有其他操作都失败了,那么你可以尝试将整件事情包装在
原始(…)
中,这将阻止它转义引号。
var输出=
<%= include_gon %>
<!-- include your action js code -->
console.log(gon.variable_name) // [1,2,3]
 var output = <%= raw(region.zip(min, max).select {|_, a, b| a == '0' && b == '0'}.map(&:first).map{|item| item.gsub('"', '')}.to_json) %>