你能给我一个提示吗,我在尝试将空格符号 (' ') 替换为 ('-') 时做错了什么。
这是我的代码:
function hypernateAndLowerCase(strings)
{
let newArray = [];
for (let i = 0; i < strings.length; i++) {
if (strings[i].indexOf(' ')){
strings[i].replace(' ', '-');
}
newArray.push(strings[i].toLowerCase());
}
return newArray;
}
console.log(hypernateAndLowerCase(['HELLO WORLD', 'HELLO YOU']));
最佳答案
.replace
不会改变原始字符串 - 字符串是不可变的,因此您必须显式分配使用 replace
的结果才能使其工作。但是,.map
在这里更合适,因为您想将一个数组转换为另一个数组:
function hypernateAndLowerCase(strings) {
return strings.map(string => string.replace(' ', '-').toLowerCase());
}
console.log(hypernateAndLowerCase(['HELLO WORLD', 'HELLO YOU']));
请注意,将字符串传递给 .replace
意味着最多只会替换一次。如果您希望替换所有 出现的地方,请改用全局正则表达式。
关于javascript - 如何替换数组中的某个符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52553093/