将带逗号的字符串转换为数组

2020/09/29 22:21 · javascript ·  · 0评论

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

看一下代码:

var string = "0,1";
var array = [string];
alert(array[0]);

在这种情况下,alert将弹出一个0,1当它是一个数组时,它将弹出一个0,当alert(array[1]);它被调用时,它应该弹出1

是否有机会将此类字符串转换为JavaScript数组?

对于像这样的简单数组成员,可以使用JSON.parse

var array = JSON.parse("[" + string + "]");

这为您提供了一个数字数组。

[0, 1]

如果使用.split(),则会得到一个字符串数组。

["0", "1"]

请注意,这JSON.parse将限制您使用受支持的数据类型。如果您需要类似undefined或函数的,则需要使用eval()或JavaScript解析器。


如果您想使用.split(),但也想要一个数字数组,则可以使用Array.prototype.map,尽管您需要对IE8和更低版本进行填充,或者只编写传统循环。

var array = string.split(",").map(Number);

,拆分角色;

var string = "0,1";
var array = string.split(",");
alert(array[0]);

这在ES6中很容易实现

您可以使用Array.from('string') ; 将字符串转换为Arrays ;

Array.from("01")

将console.log

['0', '1']

正是您要找的东西。

如果字符串已经是列表格式,则可以使用JSON.parse:

var a = "['a', 'b', 'c']";
a = a.replace(/'/g, '"');
a = JSON.parse(a);

转换所有类型的字符串

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"}"]

对于像这样的简单数组成员,可以使用JSON.parse。

var listValues = "[{\"ComplianceTaskID\":75305,\"RequirementTypeID\":4,\"MissedRequirement\":\"Initial Photo Upload NRP\",\"TimeOverdueInMinutes\":null}]";

var array = JSON.parse("[" + listValues + "]");

这为您提供了一个数字数组。

现在您的变量值就像array.length = 1

价值输出

array[0].ComplianceTaskID
array[0].RequirementTypeID
array[0].MissedRequirement
array[0].TimeOverdueInMinutes

您可以使用 split

参考:http :
//www.w3schools.com/jsref/jsref_split.asp

"0,1".split(',')

使用ES6的另一个选项是使用Spread语法。

var convertedArray = [..."01234"];

var stringToConvert = "012";
var convertedArray  = [...stringToConvert];
console.log(convertedArray);

使用内置地图功能和匿名功能,如下所示:

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] );

下面有更多“自己尝试”示例。

定义和用法split()方法用于将字符串拆分为子字符串数组,并返回新数组。

提示:如果将空字符串(“”)用作分隔符,则该字符串将在每个字符之间分割。

注意:split()方法不会更改原始字符串。

var res = str.split(",");

您可以使用JavaScript 传播语法将字符串转换为数组。在下面的解决方案中,我删除了逗号,然后将字符串转换为数组。

var string = "0,1"
var array = [...string.replace(',', '')]
console.log(array[0])

如何在JavaScript中将逗号分隔的字符串转换为数组?

var string = 'hello, world, test, test2, rummy, words';
var arr = string.split(', '); // split string on comma space
console.log( arr );
 
//Output
["hello", "world", "test", "test2", "rummy", "words"]

有关使用以下方法在javascript中将字符串转换为数组的更多示例:

  1. Split()–无分隔符:

  2. Split()–空字符串分隔符:

  3. Split()–开头/结尾处的分隔符:

  4. 正则表达式分隔符:

  5. 捕获括号:

  6. 具有限制参数的Split()

    查看此链接==> https://www.tutsmake.com/javascript-convert-string-to-array-javascript/

我删除字符'[',']'并用','分割

let array = stringObject.replace('[','').replace(']','').split(",").map(String);

Split(“,”)可以将带逗号的字符串转换为String数组,这是我的代码段。

    var input ='Hybrid App, Phone-Gap, Apache Cordova, HTML5, JavaScript, BootStrap, JQuery, CSS3, Android Wear API'
    var output = input.split(",");
    console.log(output);

[“混合应用程序”,“电话间隙”,“ Apache Cordova”,“ HTML5”,“ JavaScript”,“ BootStrap”,“ JQuery”,“ CSS3”,“ Android Wear API”]

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] =>匹配所有az,AZ,0-9

(): =>将所有匹配的元素分组

$ 1 =>替换字符串引用正则表达式中的第一个匹配组。

g =>全局标志

使用示例Array.filter

var str = 'a,b,hi,ma,n,yu';

var strArr = Array.prototype.filter.call(str, eachChar => eachChar !== ',');

正则表达式

作为更强大的替代品split,您可以使用match

"0,1".match(/\d+/g)

为什么不替换,逗号和split('')类似这样的字符串,将其转换为['0', '1'],此外,您可以将结果包装成parseInt()并将元素转换为整数类型。

it('convert string to array', function () {
  expect('0,1'.replace(',', '').split('')).toEqual(['0','1'])
});
本文地址:http://javascript.askforanswer.com/jiangdaidouhaodezifuchuanzhuanhuanweishuzu.html
文章标签: ,   ,   ,  
版权声明:本文为原创文章,版权归 javascript 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!