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
注意:不要使用var
或let
声明数组和对象。使用 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
新手已经创建了一个全局变量,不需要在循环中重新创建。使用已有的新手数组
任何人都可以告诉我为什么这段代码不起作用吗?
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
注意:不要使用var
或let
声明数组和对象。使用 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
新手已经创建了一个全局变量,不需要在循环中重新创建。使用已有的新手数组