[英]Remove " when printing an array in the JavaScript console
我有一個數組要傳遞給javascript文件。
在控制器中,我已經打印出陣列,它看起來像這樣...
["123456789", "987654321", "147852369", "369852147"]
該數組在控制器中設置為實例變量@array。
我通過將@array
設置為視圖中的變量來將此數組發送到JavaScript文件。
var array = "<%= @array %>";
注意:我已經嘗試過var array = "<%=raw @array.to_json %>";
也一樣
然后在JavaScript文件中,我只是像這樣在控制台中打印數組。
console.log(array);
但是,當它在控制台中打印時,輸出看起來像這樣。
["123456789", "987654321", "147852369", "369852147"]
當我通過jQuery檢查typeof時,它以字符串而不是數組的形式返回。
我不想看到"
。 最終,我想在運行某些JavaScript函數時將這些值用作選擇器。
通過這些步驟,我做錯了什么"
?
編輯:這就是我最初創建數組的方式。
CONTROLLER
@original= large_array_of_hashes
# I am grabbing only specific data from the hash. Only what comes after @errors=>
@data = @original.scan(/@errors=>"(.*?)"/).flatten.map{ |msg| msg.gsub(/(\.|\s+)/, '').strip }
@array = []
@data.each{|data| @array << data}
我的問題已通過僅將raw前置到我的ruby變量中而得到解決
<%= raw @array %>
我知道已經晚了,但希望它對以后的工作有所幫助!
我覺得
@array = %w[123456789 987654321 147852369 369852147]
然后您的javascript東西就可以了。
嘗試一下,將它們放在單引號中
在javascript中
var array = '<%= @array.to_json %>';
array.replace(/"/g, '"');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.