我目前正在研究的挑战的目标是获取一个数组,并在其每个元素的末尾添加一个“ s”(希望将每个单词复数)。

这是我能想到的,但是我确定我没有正确执行此操作:

var pets = ['dog', 'cat', 'rat'];
for (pets[i] = pets[i] + 's';);
console.log(pets);


我意识到我可能离答案还很遥远,但是本课程仅提供一些提示,而没有说明它们的工作方式/原因。本课程建议使用pets[i] = pets[i] + 's';的整个行。

我希望仍然能够自己解决问题,因此,如果有人可以解释为什么for循环是按照您构造它的方式构造的,那就太好了!

最佳答案

Array#map的经典用例



var pets = ['dog', 'cat', 'rat'];
var pluralVersion = pets.map(function(el) {
  return el + 's';
});
console.log(pluralVersion);





但是,按照您的方法,在for-loop中为数组中的每个项目设置新值



var pets = ['dog', 'cat', 'rat'];
for (var i = 0, length = pets.length; i < length; i++) {
  pets[i] = pets[i] + 's';
}
console.log(pets);

10-07 16:07