如何在javascript中将数组或字符串转换为数组?

How to convert array or string to array in JavaScript?

本问题已经有最佳答案,请猛点这里访问。

在我的javascript程序中,我有一个返回字符串或数组的函数(不在我可以编辑的范围内)。

所以我要么输出"one",要么输出["one","two"]

我希望输出始终是一个数组,所以如果它返回一个字符串EDCOX1,0,我想把它作为EDCOX1,3。

最简单的方法是什么?(最好没有中频)

我试过:

1
var arr = aFunction().split();

但当它返回一个数组时,这将不起作用。


编辑:

正如@jaromanda x在另一个答案中指出的,您可以使用concat:

1
var result = [].concat(aFunction());

夸奖!

我认为没有if是没有办法做到这一点的,所以只要检查输出是否是一个字符串,以防将其添加到空数组中。

1
2
3
4
var result = myFn();
if (typeof result === 'string' || result instanceof String) {
    result = new Array(result);
}

使用数组concat函数

1
var arr = [].concat(aFunction());


没有"if";(但三元运算符在内部执行if/else操作)

1
2
var result = aFunction();
result = (typeof result =="string") ? [result] : result;