本例教程解释了如何在javascript中把一个字符串转换成一个字符数组。
如何从一个字符串中获得字符数组?
我们有多种方法可以做到这一点。
- 使用分割函数
字符串有一个带参数的split function 。参数是一个分离器,用来分割成。
返回被分割元素的数组。
let str="cloudhadoop";
console.log(str.split(''));
输出:
[ 'c', 'l', 'o', 'u', 'd', 'h', 'a', 'd', 'o', 'o', 'p']
它对字母数字字符串完全有效。
对Unicode和Emoji字符的字符串不起作用。
let str="welcome 😊";
console.log(str.split(''));
输出:
[ 'w', 'e', 'l', 'c', 'o', 'm', 'e', ' ', '�', '�']
Split() function 对于Unicode字符串来说是不安全的。
- 使用ES6传播操作符 ES6引入了传播操作符,这是一种新的语法,可以提取数据并创建一个新的变量。
let str="welcome 😊";
let input=[... str]
console.log(input);
输出:
[ 'w', 'e', 'l', 'c', 'o', 'm', 'e', ' ', '😊']
- 使用Array from函数 Array提供
from,该函数接收一个字符串并将其转换为一个字符数组。
let str="welcome 😊";
console.log(Array.from(str))
- 使用Object assign函数 Object assign函数将一个字符串字符复制到一个新的数组中。
这对unicode字符串字符来说是不安全的。
let str="welcome 😊";
var result = Object.assign([],str);
console.log(result);
输出:
[ 'w', 'e', 'l', 'c', 'o', 'm', 'e', ' ', '�', '�']
- 循环的for
这是从字符串中检索字符并将字符推送到数组中的另一种方式。
let str="welcome 😊";
const result = [];
for (const character of str) {
result.push(character);
}
console.log(result);
你也可以使用for index语法来做。