gpt4 book ai didi

javascript - 将字符串参数转换为一个元素的数组

转载 作者:行者123 更新时间:2023-12-03 02:26:06 24 4
gpt4 key购买 nike

我编写了一个函数,它必须支持两种类型的参数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

我使用 Array.of() 找到了解决方案与需要一些 babel 配置的 flatten() 结合使用。

doSome = names => Array.of(names).flatten().map(name => name.toUpperCase());

JavaScript 中有没有一种惯用的方法可以在不进行类型检查的情况下获取数组?

最佳答案

您可以使用Array.concat(),因为 concat 接受数组和非数组:

const names = (v) => [].concat(v).map(name => name.toUpperCase())

console.log(names(['Bart', 'Lisa'])) // [ 'BART', 'LISA' ]
console.log(names('Homer')) // ['HOMER']

关于javascript - 将字符串参数转换为一个元素的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54039152/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com