我编写了一个函数,它必须为names值列表支持两种类型的参数.在内部,它将参数作为数组处理.
单个名称以字符串形式给出,倍数名称以字符串数组的形式给出.
// simplified example
let doSome = names => names.map(name => name.toUpperCase())
names(['Bart', 'Lisa'])
// [ 'BART', 'LISA' ]
names('Homer')
// TypeError: names.map is not a function
Run Code Online (Sandbox Code Playgroud)
我找到了一个Array.of()结合使用的解决方案flatten(),需要一些babel配置.
doSome = names => Array.of(names).flatten().map(name => name.toUpperCase());
Run Code Online (Sandbox Code Playgroud)
JavaScript中有没有一种惯用的方法来获取没有类型检查的数组?