js循环一个字符串

js looping over a string

任何人都可以告诉我为什么这段代码不起作用吗?

var newbie  = [];

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

我正在尝试将 "greetings" 的字符放入数组新手。

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

注意:不要使用varlet声明数组和对象。使用 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新手已经创建了一个全局变量,不需要在循环中重新创建。使用已有的新手数组