2016-03-30 51 views
0

在我的應用程序中,我需要從JSON獲取一些數據並將其轉換爲數組以供進一步使用。替換使用Javascript從JSON獲取的數組數據特殊字符

我有我的代碼獲取和轉換數據:

var Persons = data.Persons; 
var PersonsArr = []; 

for (var i=0; i < Persons.length; i++){ 
    PersonsArr.push(Persons[i].word); 
    } 

這很簡單,我只是調用API和使用一個for循環得到的一切。的出來就像是

PersonsArr=["peter","mary","tom"]; 

然後我將其追加到一個元素,但它具有「」分裂每個數據,我想將其刪除。

所以我試圖用.replace()

for (var i=0; i < Persons.length; i++){ 
    PersonsArr.push(Persons[i].word.replace(",", " ")); 
       } 

但它不工作作爲我的exceptation,我用我的錯apporch?

+1

沒有逗號。這只是JavaScript以可讀的形式打印數組。但是陣列內部沒有逗號,所以你做得很好 – Ibu

回答

1

然後我將其追加到一個元素,但它具有「」

當一個陣列被追加爲.innerHTML.textContenthtml元件的陣列被轉換爲字符串,例如,比較結果PersonsArr.toString()


使用Array.prototype.join()

語法
str = arr.join([separator = ','])

參數

分離
可選。指定一個字符串來分隔數組的每個元素。如果需要 ,分隔符將轉換爲字符串。如果省略,數組元素用逗號分隔。 如果分隔符是一個空字符串,則所有元素在它們之間沒有任何 字符。

" "與空格字符作爲參數附加PersonArr時元件作爲html

PersonArr.join(" ") 

var PersonsArr = ["peter", "mary", "tom"]; 
 
var div = document.querySelector("div"); 
 
var text = document.createElement("text"); 
 
text.textContent = PersonsArr.join(" "); 
 
div.appendChild(text);
<div></div>

0

不知道它的其餘部分,但是這可能會導致錯誤(G代表整個字符串全球變化)

.replace(",", " ")) 

應該

.replace(/,/g, " ")) 
0

好,如果您嘗試從PersonsArr=["peter","mary","tom"];中刪除',',則不能。因爲這是一個數組,並且它是如何存儲值的。而且它沒有被你從api獲得的數據添加。因此,如果您嘗試訪問personArr[0],它將返回peter並且不會有','。 如果這不是你想要做的,請讓我知道。

+0

我應該使用.slice() – anson920520

+0

實際上沒有','。但如果你不想看到它,那麼不要把它放在一個數組中。 'var personArr =「」; for(var i = 0; i Max