簡體   English   中英

在JavaScript控制台中打印數組時,請刪除“

[英]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);

但是,當它在控制台中打印時,輸出看起來像這樣。

[&quot;123456789&quot;, &quot;987654321&quot;, &quot;147852369&quot;, &quot;369852147&quot;]

當我通過jQuery檢查typeof時,它以字符串而不是數組的形式返回。

我不想看到&quot; 最終,我想在運行某些JavaScript函數時將這些值用作選擇器。

通過這些步驟,我做錯了什么&quot;

編輯:這就是我最初創建數組的方式。

  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(/&quot;/g, '"');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM