-1

谁能告诉我为什么这段代码不起作用?

var newbie  = [];

for ( var c of "greetings"){
  var newbie += c;
};

我正在尝试将“问候”字符放入数组新手中。

4

3 回答 3

1

您的代码不起作用,因为您需要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);

于 2019-12-26T11:46:47.290 回答
1

您不能使用+=将元素添加到数组。你需要使用Array.prototype.push

注意:不要使用varorlet来声明数组和对象。使用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)

于 2019-12-26T11:46:59.210 回答
0

在循环中避免使用此语句 var newbie += c; 并使用newbie.push(c).

原因:var已经创建了一个新手作为全局变量,您无需在循环中再次创建它。使用现有的新手数组

于 2019-12-26T11:50:59.300 回答