javascript中如何把字符串转化为数组

有时候我们需要处理交互需求时,往往会调用后台返回的JSON数据。说起JSON数据,顺带记录一些关于JSON的概念和理解。

JSON

JSON的全程是JavaScript object notation,大致可以翻译为JavaScript对象记法。重点在notation这个词上,JSON指的是将一个Object以文本的方式记录下来,JSON是一种基于文本字符串的文档。和htmlxml类似。

而字符串是大部分编程语言中储存文本数据的数据类型。JavaScript中的JSON.parse()是用于把存储JSON文本格式的字符串解析为JavaScript中的数据结构,JSON.stringify()是做相反的转换。这里千万不要把JSON理解为是对象。虽说他有方法,但是它却不是对象,而是文本字符串。

json.parse()

JSON.parse的作用是把[符合JSON语法的字符串]变成[JS里的数据结构]

JSON.stringify()

JSON.stringify的作用是把[JS里的数据结构]变成[符合JSON语法的字符串]。转化的这一过程也叫做serialize,序列化。

把数据结构或者对象转换成某种格式的过程称为[序列化],而将序列化的过程的结果反向转换回某种数据结构或对象的过程称为[反序列化]。

好了,说了一堆概念性的东西,好像偏离主题了。那么如何把字符串转化为数组呢?

字符串转化为数组

1.split

split() 方法用于把一个字符串分割成字符串数组。中间必须有一个参数,该参数只能是字符串或者正则表达式。

var str="星期日,星期一,星期二,星期三,星期四,星期五,星期六";
var arr=str.split(",");
console.log(typeof str);
console.log(arr);
console.log(typeof arr);

从输出结果可以看出,str是一个字符串,而当使用了split方法并传递了一个字符串参数","就把字符串转换成了数组,而该参数的作用在于把字符串按照传递的参数作为边界开始分割。在上面的例子中,打印出来的确实是一个组数,当并不是一个真正的数组,当查看其类型的时候可以看出,其实处理后的结果是一个对象的数据类型。那它到底是什么呢?我们通常把这种称之为类数组。什么是类数组,如果一个对象里的key值是数字,并且拥有length属性。

2.eval()

eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。

var count=eval("2+3");
console.log(count)   // 5
console.log(typeof count)  // number

上面例子可以看出,eveal可以把字符串的计算式当做数字进行计算。

let a="[1,2,3,4]";
let count=eval(a);
console.log(count);
console.log(typeof count)

从输出结果也可以看出,eval()方法把字符串转为了一个类数组,和split方法一样。

3.JSON.parse()

let a="[1,2,3,4]";
let count=JSON.parse(a);
console.log(count);
console.log( typeof count);

该方法也可以把字符串转换为类数组。

陈健的个人博客,记录生活所见所感、学习笔记。专注于Web前端_SEO教程_读书心得。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

返回主页看更多
狠狠的抽打博主 支付宝 扫一扫