如何在JavaScript中将字符串转换为字符数组?

我在考虑获取一个字符串,比如"Hello world!"到数组 [' H ', ' e ', ' l ', ' l ', ' o ', ' ', ' w ', ' o ', ' r ', ' l ', ' d ', ' !']


当前回答

你可以遍历字符串的长度,并将字符推到每个位置:

const str = 'Hello World'; const stringToArray = (text) => { Var chars = []; For (var I = 0;I < text.length;我+ +){ [我]chars.push(文本); } 返回字符 } console.log (stringToArray (str))

其他回答

你也可以使用Array.from。

var m = "Hello world!"; console.log (Array.from (m))

这个方法已经在ES6中引入。

参考

Array.from

Array.prototype.slice也会做同样的工作。

const result = Array.prototype.slice。调用(“Hello world !”); console.log(结果);

ES6将字符串按字符分割为数组的方法是使用展开操作符。它既简单又漂亮。

array = [...myString];

例子:

让myString = "Hello world!" array =[…myString]; console.log(数组); //另一个例子: console.log([…“另一个分割文本”]);

这是一个老问题,但我遇到了另一个尚未列出的解决方案。

你可以使用对象。指定函数以获得所需的输出:

var output =对象。assign([], "Hello, world!"); console.log(输出); / / [' H ', ' e ', ' l ', ' l ', ' o ', ',', ' ', ' w”、“o”、“r”、“l”、“d”、“!']

不一定是对与错,只是另一种选择。

对象。分配在MDN站点上描述得很好。

在JavaScript中转换字符串为字符数组的4种方法:

const string = 'word';

// Option 1
string.split('');  // ['w', 'o', 'r', 'd']

// Option 2
[...string];  // ['w', 'o', 'r', 'd']

// Option 3
Array.from(string);  // ['w', 'o', 'r', 'd']

// Option 4
Object.assign([], string);  // ['w', 'o', 'r', 'd']