为什么我的array.join()没有按预期工作?

时间:2012-10-06 19:34:20

标签: javascript arrays string join safari

Safari 6:

> ['a=23', 'b=234', 'c=23'].join('&');
"a=23&b=234&c=23"

然后使用变量我需要这样做。它

jsss
  [
  Array[8]
    0: "s=1"
    1: "l=NTA4NTQzNnw0NzczOTg"
    2: "r=-1"
    3: "t=a"
    4: "m=0"
    5: "si=5156695"
    6: "u=5085436"
    7: "sn=mip"
    length: 8
    __proto__: Array[0]
   ]

> jsss.join('&');
"s=1,l=NTA4NTQzNnw0NzczOTg,r=-1,t=a,m=0,si=5156695,u=5085436,sn=mip"

为什么它似乎忽略了分隔符?

2 个答案:

答案 0 :(得分:6)

看起来你有一个带有嵌套数组的数组,所以你只在顶层数组上调用join,它只有一个元素(子数组),因此只是用默认行为回显那个数组而没有任何分隔。

答案 1 :(得分:4)

jsss数组中只有一个项目,因此分隔符没有用处。我想你想要的是jsss[0].join('&');