首页 文章

如何使每个数组's string elements'第一个字符为大写,其余字符为小写?

提问于
浏览
-3

这是关于我进一步扩展的 Headers 案例算法 . 我需要JavaScript中最有效的实现 . 它应该是可扩展的和可扩展的 .

例如,我有一个随机数组,如:

var arr = ["hell o", "3are", "you a","modern","332developer"];

如果元素内容以数字开头,那么它应该忽略该索引并移动到下一个索引,直到它找到一个首字母并将其转换为大写 . 单词中的其余字母应为小写 . 如果内容中的单词后面有空格,那么它应该考虑一个新单词并应用相同的逻辑来将大写应用于该单词 .

结果如下:

var arr = ["Hell O", "3Are", "You A","Modern","332Developer"];

2 回答

  • 1

    你可以做

    var arr = ["hell o", "3are", "you a","modern","332developer"];
    
    arr = arr.map(e => e.replace(/([^\d\s])([^\s]+)?/g, (a, b, c) => {
        let ret = b.toUpperCase();
        if(c) ret += c.toLowerCase();
        return ret;
    }));
    
    console.log(arr);
    
  • 1

    你可以尝试这样的事情:

    逻辑:

    • 创建一个捕获字符组的正则表达式 .

    • 循环数组并捕获这些组 .

    • 替换/返回 Headers 案例值 .

    var arr = ["hell o", "3are", "you a","modern","332developer"];
    var result = arr.map(function(s){
      return s.replace(/([a-z]+)/gi, function(match){
        return match[0].toUpperCase() + match.substring(1);
      })
    });
    console.log(result)
    

相关问题