谁能告诉我为什么这段代码不起作用?
var newbie = [];
for ( var c of "greetings"){
var newbie += c;
};
我正在尝试将“问候”字符放入数组新手中。
谁能告诉我为什么这段代码不起作用?
var newbie = [];
for ( var c of "greetings"){
var newbie += c;
};
我正在尝试将“问候”字符放入数组新手中。
您的代码不起作用,因为您需要push()
用于将元素添加到数组的最后一个索引。
var newbie = [];
for ( var c of "greetings"){
newbie.push(c);
};
console.log(newbie);
或者,您可以使用split()
简写来获得相同的输出:
var text = 'greetings';
var res = text.split('');
console.log(res);
您不能使用+=
将元素添加到数组。你需要使用Array.prototype.push
注意:不要使用var
orlet
来声明数组和对象。使用const
.
原因:我们通常不使用=
运算符重新分配数组和对象。我们一般会修改它们。所以为了防止他们重新分配使用const
。在特殊情况下,当您知道需要更改对象的值时,=
您可以使用let
const newbie = [];
for (let c of "greetings"){
newbie.push(c);
};
console.log(newbie)
您还可以使用split()
将字符串转换为数组。
let str = "greetings";
const newbie = str.split('');
console.log(newbie)
在循环中避免使用此语句 var newbie += c;
并使用newbie.push(c)
.
原因:var
已经创建了一个新手作为全局变量,您无需在循环中再次创建它。使用现有的新手数组