我是一个javascript新手。我必须创建一个带有数组pets
的var ['cat', 'dog', 'rat']
,并使用for循环我将该数组中的每个字符串复数。
我的代码是:
var pets = ['cat', 'dog', 'rat'];
for (pets[i] = pets[i] + 's';) {
};
console.log(pets);
错误是:
for (pets[i] = pets[i] + 's';) {
^
Could not run: Unexpected token )
答案 0 :(得分:4)
for
循环的语法不正确。它会抛出语法错误。
正确的语法是:
for ([initialization]; [condition]; [final-expression])
statement
更新代码:
for(var i = 0; i < pets.length; i++) {
pets[i] = pets[i] + 's';
}
你甚至可以用一行来写这个,利用每次迭代后评估的for
的最后一个表达式。
for(var i = 0; i < pets.length; pets[i] = pets[i] + 's', i++);
注意:使用,
- 逗号运算符分隔多个表达式。
答案 1 :(得分:3)
你的for循环搞砸了,肯定可以使用for-loop
完成,但我建议你使用Array.prototype.map()
var pets = ['cat', 'dog', 'rat'];
pets = pets.map(function(el){
return el+"s";
});
map()方法创建一个新数组,其中包含调用a的结果 为此数组中的每个元素提供了函数。
在ECMAScript2015中箭头功能
var pets = ['cat', 'dog', 'rat'];
pets = pets.map( el => el+"s");
如果您仍然想使用for循环并想要编写一些不必要的代码,请执行以下操作:
for(var i = 0; i < pets.length; i++){
pets[i] = pets[i] + 's';
}