将给定数组中每个单词的前三个字母大写的函数。
P粉899950720
P粉899950720 2023-07-29 10:09:17
[JavaScript讨论组]
<p>我写了一个函数,它接受一个单词并将前三个字母大写。现在我需要在一个单词数组上运行相同的函数,以便返回每个单词的前三个字母大写。我看到有很多人在问如何将句子中每个单词的第一个字母大写,但这不是同一件事。我必须使用我已经写好的函数,这样当我使用console.log打印它时,它的输出看起来像这样:</p> <pre class="brush:php;toolbar:false;">console.log(applyAll(['str1', 'str2', 'str3', 'str4'], capitalizeThreeLetters));</pre> <p>我尝试使用for循环来实现这个,但返回的是所有单词连在一起的结果。在我的研究中,我看到可以使用forEach()方法在数组元素上运行函数,但我无法弄清楚如何应用它。</p> <pre class="brush:php;toolbar:false;">//Function that takes in str returns it with three first letters capitalized function capitalizeThreeLetters(str){ let capFirst = str[0].toUpperCase(); let capSecond = str[1].toUpperCase(); let capThird = str[2].toUpperCase(); let splitStr = str.slice(3); let wholeStr = capFirst + capSecond + capThird + splitStr; return wholeStr; } console.log(capitalizeThreeLetters('testing')); // =&gt; returns 'TESting' console.log(capitalizeThreeLetters('again')); // =&gt; returns 'AGAin' //Function that takes in a string array and applies capitalizeThreeLetters function to each array element so each word is returned with first three letters capitalized function applyAll(arr){ for (let i = 0; i &lt; arr.length; i++){ return capitalizeThreeLetters(arr); } } console.log(applyAll(['mai', 'brian', 'jeho', 'han'], capitalizeThreeLetters)); // =&gt; returns 'MAIBRIANJEHOhan' // =&gt; should return ['MAI', 'BRIan', 'JEHo', 'HAN']</pre> <p><br /></p>
P粉899950720
P粉899950720

全部回复(1)
P粉331849987

你的applyAll函数并不按你想要的方式工作。当你返回时,函数立即退出。在这种情况下,你在循环内部返回,阻止了循环继续执行和运行其他两次迭代。

你的第二个问题是,你将整个数组传递给了capitalizeThreeLetters,而不是一个单词。你可能想要使用capitalizeThreeLetters(arr[i])。现在,你传递了整个数组,导致数组中的前三个单词被大写,而不是每个单词的前三个字母。

你可以使用map方法来修复它:

function applyAll(arr){
  return arr.map(capitalizeThreeLetters);
}

在数组上使用map函数将会对数组的每个元素调用一个函数,然后返回一个包含结果的新数组。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号