なぜコードブロックが出力文字列でないのですか?Array(1).join( 'str')の出力が空の理由
num = 1を渡すと、abcが表示されるはずです。
ここには何がありますか?
function repeatStringNumTimes(str, num) {
return Array(num).join(str);
}
console.log(repeatStringNumTimes("abc", 1));
なぜコードブロックが出力文字列でないのですか?Array(1).join( 'str')の出力が空の理由
num = 1を渡すと、abcが表示されるはずです。
ここには何がありますか?
function repeatStringNumTimes(str, num) {
return Array(num).join(str);
}
console.log(repeatStringNumTimes("abc", 1));
一つの要素は、単なる文字列に変換され、それがどの糊を必要としないので、あなたは、セパレータをArray#join
のために少なくとも2つの要素を必要とします。
function repeatStringNumTimes(str, num) {
return Array(num + 1).join(str);
}
console.log(repeatStringNumTimes("abc", 1));
あなただけそうのように、ES6のString.repeat
を使用し、n回繰り返される文字列が必要な場合は正しい方法は
str.repeat(num)
次のようになります。
'myString'.repeat(repeatTimes);
またはアレイベースのソリューション(ただし、あなたの問題のために推奨されません):
new Array(repeatTimes).fill('myString').join('');
あなたはES5ソリューションが必要な場合は、repeat
FN lodash
を使用します。
_.repeat('abc', 2);
どのように使用すると、1つに参加することができます区切り文字を含む他の項目がない項目 – mplungjan
@mplungjan私は今理解しています。どうもありがとう。 –