如何使用 for of 循环,得到一个数组作为输出
how to use for of loop, resulting an array as an output
我想将名为 'days' 的数组中的日期大写,并仅通过调用 'console.log(days)'
以数组形式获取结果
请看下面:
谁能帮我把for of 循环块里的代码补完?
编辑(总结):
我质疑这个是为了知道在这种情况下每个 'day' 的值没有改变的原因。 Suren Srapyan 对此提供了一个很好的答案:
'您正在获取循环中每个项目的副本。所以 day 只是项目值的副本,将其更改为另一个值不会更改数组中的项目。'
let days = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday'];
for (day of days) {
day = day[0].toUpperCase() + day.slice(1);
// your code goes here
}
console.log(days);
for of
不像任何简单的循环。在它下面是另一个建筑。
您正在获取循环中每个项目的副本。所以 day
只是 项的值 的 copy 并且将其更改为具有另一个值不会更改数组中的项。
这是 for of
循环下的内容。
let days = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday'];
const iterator = days[Symbol.iterator]();
let item = iterator.next();
while(!item.done) {
console.log(item.value);
item = iterator.next();
}
以上代码显示 for of
循环仅用于 只读目的
你可以使用Array#map功能
let days = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday'];
days = days.map(day => day[0].toUpperCase() + day.slice(1));
console.log(days);
您也可以使用 forEach 循环来完成任务。
days.forEach(function(item, index, array) {
array[index] = item[0].toUpperCase() + item.slice(1)
});
console.log(days);
you can also use reduce method of array
let days = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday'];
let result = days.reduce((r,a)=>r.concat(a.charAt(0).toLocaleUpperCase()+a.slice(1)),[]);
console.log(result)
试试这个,我认为它会有所帮助
const days = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday'];
for (let day of days){
let firstLetter= day.substr(0,1)
let otherLetters=day.substr(1)
console.log(firstLetter.toUpperCase().concat(otherLetters));
}
我想将名为 'days' 的数组中的日期大写,并仅通过调用 'console.log(days)'
以数组形式获取结果
请看下面:
谁能帮我把for of 循环块里的代码补完?
编辑(总结): 我质疑这个是为了知道在这种情况下每个 'day' 的值没有改变的原因。 Suren Srapyan 对此提供了一个很好的答案: '您正在获取循环中每个项目的副本。所以 day 只是项目值的副本,将其更改为另一个值不会更改数组中的项目。'
let days = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday'];
for (day of days) {
day = day[0].toUpperCase() + day.slice(1);
// your code goes here
}
console.log(days);
for of
不像任何简单的循环。在它下面是另一个建筑。
您正在获取循环中每个项目的副本。所以 day
只是 项的值 的 copy 并且将其更改为具有另一个值不会更改数组中的项。
这是 for of
循环下的内容。
let days = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday'];
const iterator = days[Symbol.iterator]();
let item = iterator.next();
while(!item.done) {
console.log(item.value);
item = iterator.next();
}
以上代码显示 for of
循环仅用于 只读目的
你可以使用Array#map功能
let days = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday'];
days = days.map(day => day[0].toUpperCase() + day.slice(1));
console.log(days);
您也可以使用 forEach 循环来完成任务。
days.forEach(function(item, index, array) {
array[index] = item[0].toUpperCase() + item.slice(1)
});
console.log(days);
you can also use reduce method of array
let days = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday'];
let result = days.reduce((r,a)=>r.concat(a.charAt(0).toLocaleUpperCase()+a.slice(1)),[]);
console.log(result)
试试这个,我认为它会有所帮助
const days = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday'];
for (let day of days){
let firstLetter= day.substr(0,1)
let otherLetters=day.substr(1)
console.log(firstLetter.toUpperCase().concat(otherLetters));
}