使用递归函数将JavaScript数组中的每个单词大写

我们需要编写一个包含String文字数组的JavaScript函数。该函数应该做以下两件事-

  • 利用递归方法

  • 将每个字符串元素的首字母大写。

我们的函数应该这样做,而不必使用额外的空间来存储另一个数组。

例如-

如果输入数组是-

const arr = ['apple', 'banana', 'orange', 'grapes'];

然后将数组转换为-

const output = ['Apple', 'Banana', 'Orange', 'Grapes'];

示例

为此的代码将是-

const arr = ['apple', 'banana', 'orange', 'grapes'];
const capitalize = (arr = [], ind = 0) => {
   const helper = (str = '') => {
      return str[0].toUpperCase() + str.slice(1).toLowerCase();
   };
   if(ind < arr.length){
      arr[ind] = helper(arr[ind]);
      return capitalize(arr, ind + 1);
   };
   return;
};
capitalize(arr);
console.log(arr);

输出结果

控制台中的输出将是-

[ 'Apple', 'Banana', 'Orange', 'Grapes' ]