如何在JavaScript中将字符串转换为字符数组?
我在考虑获取一个字符串,比如"Hello world!"到数组 [' H ', ' e ', ' l ', ' l ', ' o ', ' ', ' w ', ' o ', ' r ', ' l ', ' d ', ' !']
如何在JavaScript中将字符串转换为字符数组?
我在考虑获取一个字符串,比如"Hello world!"到数组 [' H ', ' e ', ' l ', ' l ', ' o ', ' ', ' w ', ' o ', ' r ', ' l ', ' d ', ' !']
当前回答
它已经是:
我的线= 'foobar'; 控制台日志(mystring [0]);// Outputs 'f' 控制台日志(mystring [3]);// Outputs 'b'
或者对于更老的浏览器友好版本,使用:
Var mystring = 'foobar'; console.log (mystring.charAt (3));//输出'b'
其他回答
你可以遍历字符串的长度,并将字符推到每个位置:
const str = 'Hello World'; const stringToArray = (text) => { Var chars = []; For (var I = 0;I < text.length;我+ +){ [我]chars.push(文本); } 返回字符 } console.log (stringToArray (str))
这个怎么样?
function stringToArray(string) {
let length = string.length;
let array = new Array(length);
while (length--) {
array[length] = string[length];
}
return array;
}
简单的回答是:
让STR = '这是字符串,长度是>26'; console.log([…str));
Array.prototype.slice也会做同样的工作。
const result = Array.prototype.slice。调用(“Hello world !”); console.log(结果);
spread语法
你可以使用扩展语法,一个在ECMAScript 2015 (ES6)标准中引入的数组初始化器:
var arr = [...str];
例子
函数a() { 返回参数; } var str = 'Hello World'; Var arr1 =[…str], Arr2 =…“Hello World”), arr3 = new Array(…str), Arr4 = a(…str); Console.log (arr1, arr2, arr3, ar4);
前三个结果是:
["H", "e", "l", "l", "o", " ", "W", "o", "r", "l", "d"]
最后一个结果是
{0: "H", 1: "e", 2: "l", 3: "l", 4: "o", 5: " ", 6: "W", 7: "o", 8: "r", 9: "l", 10: "d"}
浏览器支持
查看ECMAScript ES6兼容性表。
进一步的阅读
MDN:扩展运算符 ECMAScript 2015 (ES6): 12.2.5数组初始化器
spread也被称为“splat”(例如在PHP或Ruby中)或“scatter”(例如在Python中)。
Demo
先试后买