用Javascript替换从JSON获取的数组数据特殊字符

时间:2016-03-30 03:07:58

标签: javascript arrays json

在我的应用程序中,我需要从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(",", " "));
                }

但它不能作为我的例外,我使用错误的apporch吗?

3 个答案:

答案 0 :(得分:1)

  

然后我将它附加到一个元素,但它有“,”

当数组作为.innerHTML.textContent附加到html元素时,数组将转换为字符串,例如,比较PersonsArr.toString()的结果。

使用Array.prototype.join()

  

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

     

<强>参数

     

分隔符
可选。指定用于分隔数组的每个元素的字符串。如果将分隔符转换为字符串   必要。如果省略,则使用逗号分隔数组元素。   如果separator是一个空字符串,则所有元素都将连接而不是任何元素   他们之间的人物。

" "空格字符作为参数添加到元素PersonArr时<{p}}

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);

答案 1 :(得分:0)

不知道其余部分,但这可能会导致错误(g代表整个字符串的全局变化)

.replace(",", " "))

应该是

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

答案 2 :(得分:0)

好吧,如果您正试图删除&#39;,&#39;来自PersonsArr=["peter","mary","tom"];,你不能。因为那是一个数组,这就是它如何存储价值。而且它没有被你从api获得的数据添加。因此,如果您尝试访问personArr[0],它将返回peter,并且“不会”,“#39;”。  如果这不是你想要做的,请告诉我。