簡體   English   中英

從數組格式的字符串創建Javascript數組

[英]Create a Javascript array from an array formatted string

我從CMS獲取一個字符串(具有數組標記),但是javascript無法將其識別為數組

// Example of how data comes from CMS
var data = [ ["<div class='example'><h2>University</h2><hr><p>Lorem Ipsum</p></div>", 13.3851, -2.2568, "/example.png"],       
["<div class='example2'><h2>University Two</h2><hr><p>Lorem Ipsum Example</p></div>", -3.3851, -22.2568, "/examplenow.png"], ] ;

// where I need data as array
googlelocations = data;

當我記錄數據時,我得到:

0: "[\"<div class='example'><h2>University</h2><hr><p>Lorem Ipsum</p></div>\", -3.3851, -22.2568, \"/example.png\"],\r\n[\"<div class='example2'><h2>University Two</h2><hr><p>Lorem Ipsum Example</p></div>\", -3.3851, -22.2568, \"/examplenow.png\"],"

長度:1如何獲取var數據作為上述信息的數組?

假設你正在

["<div class='example'><h2>University</h2><hr><p>Lorem Ipsum</p></div>", 13.3851, -2.2568, "/example.png"],       
["<div class='example2'><h2>University Two</h2><hr><p>Lorem Ipsum Example</p></div>", -3.3851, -22.2568, "/examplenow.png"],

來自CMS的@DATA。

您需要將這些數組包裝到數組數組中,以便將它們正確分配到data變量中。

var data = [ @DATA ];

要解析似乎是一個數組的響應,可以使用JSON.parse() ,在這種情況下,您需要構建一個有效的數組或js對象。 在這種情況下,添加[ ]可以解決問題,但這取決於響應的准確程度。

 var data = "[\\"<div class='example'><h2>University</h2><hr><p>Lorem Ipsum</p></div>\\", -3.3851, -22.2568, \\"/example.png\\"],\\r\\n[\\"<div class='example2'><h2>University Two</h2><hr><p>Lorem Ipsum Example</p></div>\\", -3.3851, -22.2568, \\"/examplenow.png\\"]" data = JSON.parse("["+data+"]") console.log(data) 

如果只需要這些值,則可以執行以下操作:

 var data = "[\\"<div class='example'><h2>University</h2><hr><p>Lorem Ipsum</p></div>\\", -3.3851, -22.2568, \\"/example.png\\"],\\r\\n[\\"<div class='example2'><h2>University Two</h2><hr><p>Lorem Ipsum Example</p></div>\\", -3.3851, -22.2568, \\"/examplenow.png\\"]" data = data.split(",") var latLong = [data[1],data[2],data[5],data[6]] console.log(latLong) 

暫無
暫無

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

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