我想将名为'days'的数组中的日期大写,并仅通过调用'console.log(days)'以数组形式获取结果 请看下面: 任何人都可以帮我完成循环块中的代码吗?
编辑(摘要): 我质疑这一点,以了解在这种情况下每个'日'的价值不会改变的原因。和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);
答案 0 :(得分:0)
for of
不喜欢任何简单的循环。在它下面是另一种结构。
您将获得循环中每个项目的副本。因此day
只是项目值的副本,并将其更改为具有其他值不会更改数组中的项目。
以下是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);

答案 1 :(得分:0)
您也可以使用forEach循环来完成任务。
days.forEach(function(item, index, array) {
array[index] = item[0].toUpperCase() + item.slice(1)
});
console.log(days);
答案 2 :(得分:0)
你也可以使用数组的reduce方法
govt_id
答案 3 :(得分:0)
尝试这个,我认为这会有所帮助
var theString = " Data\r\n more data <DIV> ";
$("<small class='text-success'></small>").css("white-space", "pre").text(theString).appendTo(document.body);