javascript - 如何替换数组中的某个符号?

标签 javascript html arrays function variables

你能给我一个提示吗,我在尝试将空格符号 (' ') 替换为 ('-') 时做错了什么。

这是我的代码:

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/

相关文章:

javascript - HTML/Javascript - 加载后消失的欢迎图像封面 - 网页部分重新加载?

html - 高度计算器完全没有反应

javascript - 更改数组的值更改原始数组 JavaScript

arrays - 计算数组中重复元素的数量 - C

javascript - 单击另一个图像时如何隐藏位于另一个图像之上的图像

javascript - 动态变量而不是 jquery 的方法

Javascript + HTML 根据手机大小改变html

javascript - 哪种 Javascript 日期格式与所有浏览器兼容?

javascript - 在执行 ng-repeat 并执行不会反射(reflect)在 html 中的操作时,将范围从 html 绑定(bind)到指令

javascript - 使用 jQuery 根据值对 JSON 数组进行排序