gpt4 book ai didi

javascript - Array() 方法的意外输出

转载 作者:行者123 更新时间:2023-12-02 15:43:14 25 4
gpt4 key购买 nike

我在下面有这段代码,但不太理解输出

function repeatStringNumTimes(str, num) {
if (num <0) {
return ""
} else {
return Array(num+1).join(str)
}
}

console.log(repeatStringNumTimes("abc", 3));

我本以为输出是“abcabcabc”,但如果我在 JS Bin 中使用 console.log(repeatStringNumTimes(“abc”, 3)) 它会生成“abcabc”?

如果我指定 Array(3) - 它不会将字符串连接 3 次吗?为什么在这种情况下只有 2 个?

最佳答案

If I specify Array(3) - Would it not concatenate the string 3 times?Why only 2 in this instance?

console.log([1,2,3].join('abc'))
// outputs 1abc2abc3

请注意,'abc' 是 3 个元素之间连接的分隔符,因此它出现了两次,而不是 3 次。

因此,如果您创建一个空数组,它会显示两次 'abc',分隔 3 个空字符串:

console.log(Array(3).join('abc'))
// outputs abcabc

另请注意,还有 String.repeat()

console.log('abc'.repeat(3))
// outputs abcabcabc

关于javascript - Array() 方法的意外输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75286188/

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