2016-06-30 84 views
0

我試圖輸出現有陣列我有一個對象數組中刪除單引號,但是,現有的陣列沒有鍵,以便在試圖創建它,我這樣做如何從陣列

... 
    var range = []; 
    for (var i = 0; i < dateArray.length; i ++) { 
     range.push('{ date: "'+dateArray[i]+'" }') 
    } 
    var fake = "'"+myArray+"'" 
    var p = fake.replace(/[']+/g, '') 
    var o = [p] 

控制檯登錄我的「O」變給了我這個....

[ '{ date: "Wed Jun 08 2016 12:00:00 GMT-0400 (EDT)" },{ date: "Thu Jun 09 2016 12:00:00 GMT-0400 (EDT)" }...'] 

的問題是,在陣列中我的對象獲得的由單引號包裹,造成它被認爲是一個大的字符串。

看到這不再被認爲是一個字符串,我不能做str.replace來擺脫不需要的引號。最終,我希望它看起來像這樣:

[ { date: "Wed Jun 08 2016 12:00:00 GMT-0400 (EDT)" },{ date: "Thu Jun 09 2016 12:00:00 GMT-0400 (EDT)" }...] 
+0

使用JSON.parse()來文檔https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Objetos_globales/JSON/parse –

+0

在給定的例子中'JSON.parse()'是無用的。事實上,它會拋出一個錯誤。 –

回答

1

你試過:

var range = []; 
    for (var i = 0; i < dateArray.length; i ++) { 
     range.push({ date: dateArray[i].toString() }) 
    } 
+1

這個工作完美,我想我只是做了太多。可能會在不使用toString函數的情況下使用它,就像之後的帖子一樣,但接受這個函數並不公平,因爲除了那個之外,它和你的完全一樣。謝謝! – Jasmin

0

只需將單引號標記添加到數組中時刪除單引號標記。您必須向數組添加對象而不是字符串。

var range = []; 
    for (var i = 0; i < dateArray.length; i ++) { 
     range.push({ date: dateArray[i] }) 
    } 
+0

道歉看起來像這樣var range = []; (var i = 0; i

+1

如果您想添加更改,您可以編輯您的anwser ... :) –

+0

你檢查你的版本是否有效? –