如何将字符串转换为JavaScript数组?
看看代码:
var string = "0,1";
var array = [string];
alert(array[0]);
在这种情况下,警报显示0,1。如果它是一个数组,它将显示0。如果调用alert(数组[1]),它应该弹出1
是否有机会将这样的字符串转换为JavaScript数组?
如何将字符串转换为JavaScript数组?
看看代码:
var string = "0,1";
var array = [string];
alert(array[0]);
在这种情况下,警报显示0,1。如果它是一个数组,它将显示0。如果调用alert(数组[1]),它应该弹出1
是否有机会将这样的字符串转换为JavaScript数组?
当前回答
我删除字符'[',']'并使用','进行拆分
let array = stringObject.replace('[','').replace(']','').split(",").map(String);
其他回答
转换所有类型的字符串
var array = (new Function("return [" + str+ "];")());
var string = "0,1";
var objectstring = '{Name:"Tshirt", CatGroupName:"Clothes", Gender:"male-female"}, {Name:"Dress", CatGroupName:"Clothes", Gender:"female"}, {Name:"Belt", CatGroupName:"Leather", Gender:"child"}';
var stringArray = (new Function("return [" + string+ "];")());
var objectStringArray = (new Function("return [" + objectstring+ "];")());
JSFiddle https://jsfiddle.net/7ne9L4Lj/1/
控制台结果
一些练习不支持对象字符串
- JSON.parse("[" + string + "]"); // throw error
- string.split(",")
// unexpected result
["{Name:"Tshirt"", " CatGroupName:"Clothes"", " Gender:"male-female"}", " {Name:"Dress"", " CatGroupName:"Clothes"", " Gender:"female"}", " {Name:"Belt"", " CatGroupName:"Leather"", " Gender:"child"}"]
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 =>全局标志
正则表达式
作为分割的更强大的替代品,你可以使用匹配
"0,1".match(/\d+/g)
Let a = "0,1".match(/\d+/g) console.log(一个);
你可以使用split
参考: http://www.w3schools.com/jsref/jsref_split.asp
“0 1”.split (" ")
使用内置的map函数和匿名函数,如下所示:
string.split(',').map(function(n) {return Number(n);});
[编辑]下面是你如何使用它
var string = "0,1";
var array = string.split(',').map(function(n) {
return Number(n);
});
alert( array[0] );