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

6
在我的JavaScript程序中,我有一个函数(不在我的编辑范围内),它返回一个字符串或一个数组。
因此,我的输出要么是“one”,要么是["one", "two"]。
我想让输出始终是一个数组,所以如果它返回一个字符串“one”,我希望它变成["one"]。
最简单的方法是什么?(最好不用if)
我尝试过:
var arr = aFunction().split();

但是,当它返回一个数组时,这样做就行不通了。

3个回答

8

编辑:

正如 @Jaromanda X 在另一个 答案 中指出的那样,您可以使用concat函数:

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

太棒了!


我认为在没有if的情况下无法完成这个任务,因此只需检查输出是否为字符串,并在这种情况下将其添加到一个空数组中。

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

4

使用数组concat函数

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

-1

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接