在我的javascript程序中,我有一个返回字符串或数组的函数(不在我的编辑范围内)。
所以我要么输出"one"
或["one", "two"]
我希望输出总是一个数组,所以如果它返回一个字符串"one"
我想把它作为["one"]
。
最简单的方法是什么? (最好没有if)
我试过了:
var arr = aFunction().split();
但是当它确实返回一个阵列时,这不会起作用。
答案 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;