纠正格式错误的javascript数组

时间:2015-12-14 14:16:17

标签: javascript php

我发送一个php数组,如:

$var = array (
0=> 4, 
1=> 6,
2=> 8,
...

as json_encode($ var);进入uri然后我收到它到javascript文件仍然可以在这里,但当我把它推入这样的新数组:

 this.patg.push(attd);

如下插入。

var attds = ["4,6,7,8,9,5558,5560,5573,5574,5586,5589,5606"]

我知道我必须找到问题所在。但

问题:

  1. 您能告诉我为什么会发生这种情况或帮助我处理它。

  2. 但无论如何只是为了知识。你如何添加额外的“”,我想念一个阵列,或者是解决这个问题的疯狂想法?

1 个答案:

答案 0 :(得分:2)

如果您正在接收字符串值并且想要将其用作整数数组,则应首先将其拆分为数组:

var receivedData = "4,6,7,8,9,5558,5560,5573,5574,5586,5589,5606";
var dataArray = receivedData.split(",");

之后你可以将它与另一个数组一起使用,但是请注意,如果你已经有一个已经定义的数组,你想要推送dataArray,你不应该push而是concat代替。

换句话说,如果你有:

var previousArray = [1,2,3];
previousArray.push(dataArray);

你会得到

  

[1,2,3,[4,6,7,8,9,5558,5560,5573,5574,5586,5589,5606]]

意味着整个数组被推到previousArray的第4个位置。

另一方面,如果您concat数组将合并

var previousArray = [1,2,3];
previousArray.concat(dataArray);
  

[1,2,3,4,6,7,8,9,5558,5560,5573,5574,5586,5589,5606]

来源:http://www.w3schools.com/jsref/jsref_concat_array.asp