如何在javascript中把字符串转换为字符数组

161 阅读1分钟

本例教程解释了如何在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语法来做。