javascript - 如何替换数组中的某些符号?
问题描述
您能否给我一个提示,尝试将空格符号('')替换为('-')有什么问题。
这是我的代码:
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
不会改变原始字符串 - 字符串是不可变的,因此您必须明确分配 using 的结果replace
才能使其工作。但是,.map
在这里更合适,因为您想将一个数组转换为另一个数组:
function hypernateAndLowerCase(strings) {
return strings.map(string => string.replace(' ', '-').toLowerCase());
}
console.log(hypernateAndLowerCase(['HELLO WORLD', 'HELLO YOU']));
请注意,将字符串传递给.replace
将意味着最多只会替换一次出现。如果要替换所有匹配项,请改用全局正则表达式。
推荐阅读
- sass - SCSS 复杂/嵌套映射
- git - 是否可以将 API 密钥和 .env 文件提交到私人业务仓库?
- javascript - 了解 Javascript 如何全局解析变量
- google-app-engine - 从外部 URL 加载 Freemarker 模板
- c++ - CGAL:与半边相关的刻面的输出 ID
- javascript - React-select:背景颜色不会在 wordWrap 上填满全宽:“scroll”
- node.js - Mongoose 按参考 ID 查找
- git - 当存储库与共享库相同时,Jenkins 不会检查正确的版本
- qt - 如何在 QML 中制作 3D 文本
- java - 如何从 cURL 命令或 Internet 浏览器通过 HTTP/1.1 调用 gRPC 服务器