此代码删除名称之间的空格并插入逗号。我很想知道是否有办法使用For循环替换“Split”来执行相同的代码。我记得做过类似但不足以实际做到的事情。
function cutName (name) {
return name.split(' ');
}
alert(cutName("Amjad Ali"));
答案 0 :(得分:0)
同意你所提问的评论似乎有点奇怪,但是你走了:
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()
那样返回数组,但是字符串化的结果是相同的(看起来就是你所追求的)。
如果您 想要一个数组,就像split()
一样,请尝试这样做:
function cutName (name) {
let result = [];
let lastIndex = 0;
for(let i=0; i<name.length; i++) {
if(name[i] === " ") {
result.push(name.substring(lastIndex, i));
lastIndex = i+1;
}
}
result.push(name.substring(lastIndex, name.length))
return result;
}
console.log(cutName("Amjad Ali"));
答案 1 :(得分:0)
function cutName(name){
var result = "";
for(const char of name) result += char === " " ? "," : char;
return result;
}
console.log(cutName("Jonas W"));
您可以使用for循环迭代每个字符。