0
点赞
收藏
分享

微信扫一扫

重复字符串的多种方法

for 循环

最先想到的应该就是使用 for 循环重复字符串了吧!

const str = 'LOVE'
const arr = []

for (let i = 1; i <= 3; i++) {
  arr.push(str)
}

arr.join('') // 'LOVELOVELOVE'

String.prototype.repeat()

'LOVE'.repeat(3) // 'LOVELOVELOVE'
'Hey'.repeat(2) // 'HeyHey'
'Hi'.repeat(0) // ''

Array.prototype.fill()

Array(3)
  .fill('LOVE')
  .join('')

// "LOVELOVELOVE"

该片段的运行很简单:创建一个包含3个空项的新数组,在每个空项中填充 LOVE,将所有元素连接成一个字符串

Array.prototype.join()

一个更短的快捷方式是仅使用 join 方法来重复字符串。

Array(4).join('LOVE') // 'LOVELOVELOVE'

Array.from

一个类数组对象必须含有 length 属性,且元素属性名必须是数值或者可转换为数值的字符。我们正好可以利用这一点。

我们将 length 属性设置为 3,使用 from() 方法初始化数组,每个位置对应3个 undefined。 如下:

Array.from({ length: 3 }) // [undefined, undefined, undefined]

现在我们使用第二个参数,这是一个 map 函数,它将调用数组的每个元素。在这里,我们用 'LOVE' 替换所有的 undefined

Array.from({ length: 3 }, () => 'LOVE') // ['LOVE', 'LOVE', 'LOVE']

最后我们调用 join() 方法将数组中的所有元素组合成一个字符串。

Array.from({ length: 3 }, () => 'LOVE').join('') //'LOVELOVELOVE'
举报

相关推荐

0 条评论