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

时间:2015-11-28 14:36:32

标签: javascript arrays split

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

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

我希望输出总是一个数组,所以如果它返回一个字符串"one"我想把它作为["one"]

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

我试过了:

var arr = aFunction().split();

但是当它确实返回一个阵列时,这不会起作用。

3 个答案:

答案 0 :(得分:5)

修改

正如@Jaromanda X在另一个answer中指出的那样你可以使用concat:

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

荣誉!

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

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

答案 1 :(得分:4)

使用数组concat函数

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

答案 2 :(得分:-1)

没有“ if ”;)(但内部三元运算符正在执行if / else的东西)

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