说说格式转换及序列化01
先说说常用的数据格式转化:
Array.from() 从一个类似数组或可迭代的对象中创建一个新的数组实例。
var json = { '0' : 'momei', '1' : '墨眉', '2' : 'yxh', length:3 } console.log(Array.from(json)); //返回 ["momei", "墨眉", "yxh"]
var str = "momei"; console.log(Array.from(str)); //返回 ["m", "o", "m", "e", "i"]
通过上面的两个实例我想你对 Array.from() 有一定的认识了。接下来再看看:
var json = { '0' : 'momei', '1' : '墨眉', '3' : 'yxh', length:3 } console.log(Array.from(json)); // 返回 ["momei", "墨眉", undefined] console.log(json); // 返回 Object {0: "momei", 1: "墨眉", 3: "yxh", length: 3}
通过以上实例是否对 Array.from() 创建数组实例有了更清晰的认识。
Array.of() 方法创建一个具有可变数量参数的新数组实例,而不考虑参数的数量或类型。
var nM = Array.of('momei','yxh','pianke'); console.log(nM); // 返回 ["momei", "yxh", "pianke"]
此处有一个小知识点需要注意:Array.of() 和 Array 构造函数之间的区别。
Array.of(6); //返回 [6] Array.of(1, 2, 3); //返回 [1, 2, 3] Array(6); //返回 [ , , , , , ] Array(1, 2, 3); //返回 [1, 2, 3]
以上是对Array方法一些简单探讨,对其深入的认识需通过实践来达到。
接下来看看序列化:
JSON.stringify(val[, replacer [, space]]) 方法将一个 JavaScript 值转换为一个 JSON 字符串,如果指定了一个 replacer 函数,则可以替换值,或者如果指定了一个 replacer 数组,可选地仅包括指定的属性。
val 必需, 一个有效的 JSON 字符串。
replacer 可选, 参数是函数时,用在字符串转花钱对值做一些操作。也可以是数组。
space 可选, 在需要格式化输出时使用(使代码便于阅读) 。
var str = {}; str.blog = "cnblogs.com/momei"; str.name = "momei"; str.age = 26; var stu = []; stu[0] = "name"; stu[1] = "age"; stu[2] = "sex"; var json = JSON.stringify(str,stu,100); //第二个参数为数组时 如果数组的value在对象中存在,那么数组的值做key,对象的值为value进行表示 //第三个参数 最大值为10,大于10也只缩进10个字符 console.log(json); /* { "name": "Lanny", "age": 25 } */
JSON.parse(text [, reviver]) 解析一个JSON字符串,构造由字符串描述的JavaScript值或对象。
text 要解析的字符串。
reviver 用来处理解析至的可选函数。
JSON.parse('[1, 5, "false"]'); // [1, 5, "false"]
var str = '{"name":"momei","blog":"cnblogs.com/momei"}'; console.log(JSON.parse(str)); //Object {name: "momei", blog: "cnblogs.com/momei"}
var str = {"name":"momei","blog":"cnblogs.com/momei"}; console.log(JSON.parse(JSON.stringify(str))); //Object {name: "momei", blog: "cnblogs.com/momei"}
以上就是一些对格式转换及序列化简单的理解和认识,由浅入深再续...