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

如何在JavaScript中将数组或字符串转换为数组?,javascript,arrays,split,Javascript,Arrays,Split,在我的javascript程序中,我有一个返回字符串或数组的函数(我无法编辑) 所以我要么有输出“一”要么[“一”,“二”] 我希望输出总是一个数组,因此如果它返回一个字符串“one”,我希望它是[“one”] 最简单的方法是什么?(最好没有if) 我试过: var arr = aFunction().split(); 但是当它返回一个数组时,这将不起作用。编辑: 正如@Jaromanda X在另一篇文章中指出的,您可以使用concat: var result = [].concat(aFun

在我的javascript程序中,我有一个返回字符串或数组的函数(我无法编辑)

所以我要么有输出
“一”
要么
[“一”,“二”]

我希望输出总是一个数组,因此如果它返回一个字符串
“one”
,我希望它是
[“one”]

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

我试过:

var arr = aFunction().split();
但是当它返回一个数组时,这将不起作用。

编辑:

正如@Jaromanda X在另一篇文章中指出的,您可以使用concat:

var result = [].concat(aFunction());
荣誉


我认为在没有if的情况下是没有办法做到这一点的,所以只需检查输出是否是字符串,万一是,请将其添加到空数组中

var result = myFn();
if (typeof result === 'string' || result instanceof String) {
    result = new Array(result);
}
使用数组函数

不带“如果””;)(但在内部,三元运算符正在执行if/else操作)


那是个好主意+1.
var arr = [].concat(aFunction());
var result = aFunction();
result = (typeof result == "string") ? [result] : result;