将值推送到匿名数组

时间:2015-12-08 09:18:46

标签: javascript

在我的代码中有这一部分:

//config.tls.ca can be a String or and Array of String
if (config.tls.ca && !Array.isArray(config.tls.ca)) 
  config.tls.ca = [].push(config.tls.ca);

我意识到之后:config.tls.ca = 1

为什么会这样?

document.write([].push("Hello World"));

1 个答案:

答案 0 :(得分:2)

  

Array.prototype.push返回调用该方法的对象的新length属性。

您正在将一个项目推入一个空数组,因此数组的新长度为1,从push返回并分配给.ca。阵列本身消失在以太中,因为它没有分配给任何东西。

没有理由写这样的代码;你会这样做:

config.tls.ca = [config.tls.ca];