Sco*_*ott 334 javascript arrays string
如何将字符串转换为JavaScript数组?
看看代码:
var string = "0,1";
var array = [string];
alert(array[0]);
Run Code Online (Sandbox Code Playgroud)
在这种情况下,alert会弹出一个0,1.当它是一个数组时,它会弹出一个0,当alert(array[1]);它被调用时,它应弹出它1.
有没有机会将这样的字符串转换为JavaScript数组?
I H*_*azy 626
对于像这样的简单数组成员,您可以使用JSON.parse.
var array = JSON.parse("[" + string + "]");
Run Code Online (Sandbox Code Playgroud)
这会给你一个数字数组.
[0, 1]
Run Code Online (Sandbox Code Playgroud)
如果你使用.split(),你最终会得到一个字符串数组.
["0", "1"]
Run Code Online (Sandbox Code Playgroud)
请注意,这JSON.parse将限制您支持的数据类型.如果您需要像undefined或函数这样的值,则需要使用eval()或使用JavaScript解析器.
如果你想使用.split(),但你也想要一个数字数组,你可以使用Array.prototype.map,虽然你需要为IE8和更低版本填充它或只是写一个传统的循环.
var array = string.split(",").map(Number);
Run Code Online (Sandbox Code Playgroud)
Ale*_* K. 108
把它拆分在,角色上;
var string = "0,1";
var array = string.split(",");
alert(array[0]);
Run Code Online (Sandbox Code Playgroud)
Ray*_*Kim 79
这在ES6中很容易实现;
您可以使用Array.from('string')将字符串转换为Arrays ;
Array.from("01")
Run Code Online (Sandbox Code Playgroud)
将console.log
['0', '1']
Run Code Online (Sandbox Code Playgroud)
这正是您正在寻找的.
小智 53
如果字符串已经是列表格式,则可以使用JSON.parse:
var a = "['a', 'b', 'c']";
a = a.replace(/'/g, '"');
a = JSON.parse(a);
Run Code Online (Sandbox Code Playgroud)
And*_* AR 24
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+ "];")());
Run Code Online (Sandbox Code Playgroud)
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"}"]
Run Code Online (Sandbox Code Playgroud)
小智 19
对于像这样的简单数组成员,您可以使用JSON.parse.
var listValues = "[{\"ComplianceTaskID\":75305,\"RequirementTypeID\":4,\"MissedRequirement\":\"Initial Photo Upload NRP\",\"TimeOverdueInMinutes\":null}]";
var array = JSON.parse("[" + listValues + "]");
Run Code Online (Sandbox Code Playgroud)
这会给你一个数字数组.
现在你的变量值就像array.length = 1
价值输出
array[0].ComplianceTaskID
array[0].RequirementTypeID
array[0].MissedRequirement
array[0].TimeOverdueInMinutes
Run Code Online (Sandbox Code Playgroud)
Abh*_*dha 16
使用ES6的另一个选择是使用Spread语法.
var convertedArray = [..."01234"];
var stringToConvert = "012";
var convertedArray = [...stringToConvert];
console.log(convertedArray);Run Code Online (Sandbox Code Playgroud)
Dan*_*yla 10
使用带有匿名函数的内置map函数,如下所示:
string.split(',').map(function(n) {return Number(n);});
Run Code Online (Sandbox Code Playgroud)
[编辑]这是你如何使用它
var string = "0,1";
var array = string.split(',').map(function(n) {
return Number(n);
});
alert( array[0] );
Run Code Online (Sandbox Code Playgroud)
我删除字符 '[',']' 并用 ',' 进行分割
let array = stringObject.replace('[','').replace(']','').split(",").map(String);
Run Code Online (Sandbox Code Playgroud)
小智 5
下面有更多“自己尝试”示例。
定义和用法 split() 方法用于将字符串拆分为子字符串数组,并返回新数组。
提示:如果使用空字符串 ("") 作为分隔符,则字符串将在每个字符之间拆分。
注意:split()方法不会改变原始字符串。
var res = str.split(",");
Run Code Online (Sandbox Code Playgroud)
您可以使用 javascript Spread Syntax将字符串转换为数组。在下面的解决方案中,我删除逗号,然后将字符串转换为数组。
var string = "0,1"
var array = [...string.replace(',', '')]
console.log(array[0])
Run Code Online (Sandbox Code Playgroud)