【发布时间】:2016-11-06 01:44:18
【问题描述】:
所以,我正在做一些练习题。我的代码似乎工作正常,直到我决定循环遍历字符串以将句点的任何实例替换为空。由于某种原因,循环不起作用。我想这与不以某种方式调用它有关,但我不确定如何调用循环。我认为循环会自动覆盖它们循环的内容。这是练习和我不完整的解决方案:
编写一个 JavaScript 函数来参数化一个字符串。
function string_parameterize(string) {
var lowercase_string = string.toLowerCase();
var split_string = lowercase_string.split(" ");
var joined_string = split_string.join("-");
for (i = 0; i < joined_string.length; i++) {
if (joined_string[i] === ".") {
joined_string[i] === "";
}
}
return joined_string;
}
//Test Data :
console.log(string_parameterize("Robin Singh from USA."));
答案应该是robin-singh-from-usa,不带句号,但它一直显示为robin-singh-from-usa.,带句号。
【问题讨论】:
-
等号太多——joined_string[i]===""应该是joined_string[i]=""
-
你的 if 中没有作业。
-
你试过joined_string.replace(/\./g, ''); -- 这样你就不必遍历整个字符串并将所有句点(。)替换为''。
-
将“===”更改为“=”无效。什么任务会进入if?我也想在不使用正则表达式的情况下做到这一点,因为我还没有学会它。我正在尝试让循环工作,但它不起作用。
-
关闭选民:问题不仅仅是印刷错误。是的,代码中有一个错字,
joined_string[i] === "";本来应该是joined_string[i] = "";。但是,即使该错误得到纠正,代码仍然无法正常工作。因此,“off-topic:typographical error”不是有效/准确的关闭原因。
标签: javascript loops