何を求めていることは少し奇妙なようだが、ここであなたが行くことをコメントに同意します:
function cutName(name) {
let result = "";
for (let i = 0; i < name.length; i++) {
if (name[i] === " ") result += ",";
else result += name[i];
}
return result;
}
alert(cutName("Amjad Ali"));
これは戻りません。配列はsplit()
となりますが、文字列化された結果は同じです(wh ichはあなたの後にあるように見えます)。あなたはだけのsplit()
のように、配列をしたいです場合
、代わりにこれを試してみてください。
function cutName (name) {
let result = [];
let lastIndex = 0;
for(let i=0; i<name.length; i++) {
\t if(name[i] === " ") {
\t result.push(name.substring(lastIndex, i));
lastIndex = i+1;
}
}
result.push(name.substring(lastIndex, name.length))
return result;
}
console.log(cutName("Amjad Ali"));
コードは本当にコンマを挿入しません。それは、配列が 'alert'内の文字列に変換されたときに暗黙的に起こります。 '.join()'や '.join( '、')'を明示的に使うこともできます。 – Bergi
これは 'Array'の' toString'メソッドに大きく依存しています。 –
いいえ、ここでループを使用する理由はありません。もちろん、あなたはホイールを再発明することができます。すべての文字列メソッドですが、なぜでしょうか? – Bergi