首页 > 解决方案 > 如何替换数组中的某些符号?

问题描述

您能否给我一个提示,尝试将空格符号('')替换为('-')有什么问题。

这是我的代码:

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']));

标签: javascripthtmlarraysfunctionvariables

解决方案


.replace不会改变原始字符串 - 字符串是不可变的,因此您必须明确分配 using 的结果replace才能使其工作。但是,.map在这里更合适,因为您想将一个数组转换为另一个数组:

function hypernateAndLowerCase(strings) {
  return strings.map(string => string.replace(' ', '-').toLowerCase());
}

console.log(hypernateAndLowerCase(['HELLO WORLD', 'HELLO YOU']));

请注意,将字符串传递给.replace将意味着最多只会替换一次出现。如果要替换所有匹配项,请改用全局正则表达式。


推荐阅读