如何将一个字符串转换为 JavaScript 数组?
看代码:
var string = "0,1";
var array = [string];
alert(array[0]);
在这种情况下,alert
显示 0,1
。如果它是一个数组,它将显示 0
。如果调用 alert(array[1])
,它应该弹出 1
有没有办法将这样的字符串转换为 JavaScript 数组?
如何将一个字符串转换为 JavaScript 数组?
看代码:
var string = "0,1";
var array = [string];
alert(array[0]);
在这种情况下,alert
显示 0,1
。如果它是一个数组,它将显示 0
。如果调用 alert(array[1])
,它应该弹出 1
有没有办法将这样的字符串转换为 JavaScript 数组?
let array = stringObject.replace('[','').replace(']','').split(",").map(String);
var string = "0,1"
var array = [...string.replace(',', '')]
console.log(array[0])
以下有更多“试一试”例子。
定义和用法 split() 方法用于将字符串分割成子字符串数组,并返回新的数组。
提示:如果使用空字符串("")作为分隔符,则字符串在每个字符之间分割。
注意:split() 方法不会改变原始字符串。
var res = str.split(",");
作为比split
更强大的替代方案,您可以使用match
函数。
"0,1".match(/\d+/g)
let a = "0,1".match(/\d+/g)
console.log(a);
var i = "[{a:1,b:2}]",
j = i.replace(/([a-zA-Z0-9]+?):/g, '"$1":').replace(/'/g,'"'),
k = JSON.parse(j);
console.log(k)
// => 声明正则表达式
[a-zA-Z0-9] => 匹配所有的a-z,A-Z和0-9
(): => 将所有匹配元素分组
$1 => 替换字符串指代正则表达式中的第一个匹配组。
g => 全局标志
Split(“,”)可以将带逗号的字符串转换为字符串数组,这是我的代码片段。
var input ='Hybrid App, Phone-Gap, Apache Cordova, HTML5, JavaScript, BootStrap, JQuery, CSS3, Android Wear API'
var output = input.split(",");
console.log(output);
["混合应用", "Phone-Gap", "Apache Cordova", "HTML5", " JavaScript", "BootStrap", "JQuery", "CSS3", "Android Wear API"]
,
替换逗号,然后使用 split('')
将字符串分割成数组,结果为 ['0', '1']
。此外,您可以将结果包装在 parseInt()
中,将元素转换为整数类型。it('convert string to array', function () {
expect('0,1'.replace(',', '').split('')).toEqual(['0','1'])
});
使用 Array.filter
的示例:
var str = 'a,b,hi,ma,n,yu';
var strArr = Array.prototype.filter.call(str, eachChar => eachChar !== ',');
string[0] === '0'
),在大多数情况下,您可以将字符串视为字符数组并在其上使用数组方法。 - Paul S.