Javascript 将值推送到匿名数组

Javascript 将值推送到匿名数组,javascript,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”) 返回调用该

在我的代码中有以下部分:

//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
,它从
push
返回并分配给
.ca
。阵列本身消失在以太中,因为它没有分配给任何东西

没有理由写这样的代码;您可以这样做:

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

只需从config.tls.ca=[config.tls.ca]开始谢谢,我不知道
[config.tls.ca]
语法是有效的:)这是一个简单的问题。