如何使用带有箭头函数的 Array.map() 将数组中每个单词的首字母大写?
How to capitalize the first letter of each word in an array using Array.map() with an arrow function?
如何使用带有箭头函数的 Array.map() 将数组中每个单词的首字母大写?
到目前为止我尝试过的:
const days = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday'];
days.map(day => day.charAt(0).toUpperCase() + day.substr(1));
console.log(day);
您可以简单地使用 地图 :
const days = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday'];
const capitalDays = days.map( day => day.charAt(0).toUpperCase() + day. substr(1));
或者使用forEach方法
days.forEach((day, index) => {
days[index] = day.charAt(0).toUpperCase() + day.substr(1).toLowerCase();
});
map()
方法不会改变当前数组中的值 days
而是创建一个新数组,其结果是对调用数组中的每个元素调用提供的函数。
换句话说,map()
方法不会对您正在映射的数组进行任何更改,但它所做的是创建一个包含所做更改的新数组。
因此,为了访问您从 map()
获得的新数组,您需要将映射数组分配给一个新变量,例如 newDays
,如下所示:
const days = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday'];
const newDays = days.map(day => day.charAt(0).toUpperCase() + day.substr(1).toLowerCase());
console.log(newDays);
您的代码运行良好。您只有两个问题:
1) map
returns 一个新数组,它不会改变数组
2) 你正在做 console.log(day)
const days = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday'];
console.log(days.map(day => day.charAt(0).toUpperCase() + day.substr(1)));
如何使用带有箭头函数的 Array.map() 将数组中每个单词的首字母大写?
到目前为止我尝试过的:
const days = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday'];
days.map(day => day.charAt(0).toUpperCase() + day.substr(1));
console.log(day);
您可以简单地使用 地图 :
const days = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday'];
const capitalDays = days.map( day => day.charAt(0).toUpperCase() + day. substr(1));
或者使用forEach方法
days.forEach((day, index) => {
days[index] = day.charAt(0).toUpperCase() + day.substr(1).toLowerCase();
});
map()
方法不会改变当前数组中的值 days
而是创建一个新数组,其结果是对调用数组中的每个元素调用提供的函数。
换句话说,map()
方法不会对您正在映射的数组进行任何更改,但它所做的是创建一个包含所做更改的新数组。
因此,为了访问您从 map()
获得的新数组,您需要将映射数组分配给一个新变量,例如 newDays
,如下所示:
const days = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday'];
const newDays = days.map(day => day.charAt(0).toUpperCase() + day.substr(1).toLowerCase());
console.log(newDays);
您的代码运行良好。您只有两个问题:
1) map
returns 一个新数组,它不会改变数组
2) 你正在做 console.log(day)
const days = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday'];
console.log(days.map(day => day.charAt(0).toUpperCase() + day.substr(1)));