标签:gif 数组 函数 ring pre rgb obj str null
一般情况下,我们使用JSON.stringify() 是为了将一个对象转为字符串输出。
(1)第一个参数是我们要字符串化的对象或者数组,但是其实它还有第二个/第三个参数哦
let obj = { name: ‘良人‘, age: 18, hobby: ‘play‘ } console.log(JSON.stringify(obj)) // {"name":"良人","age":18,"hobby":"play"}
(2)第二个参数,为数组时,将key作为关键字打印我们需要的信息
let obj = { name: ‘良人‘, age: 18, hobby: ‘play‘ } console.log(JSON.stringify(obj, [‘hobby‘])) // {"hobby":"play"} console.log(JSON.stringify(obj, [‘aaaa‘])) // "{}" console.log(JSON.stringify(obj, [‘aaaa‘, ‘name‘])) // {"name":"良人"}
第二个参数,为函数时
let obj = {name: ‘lily‘, age: 18} console.log(223, JSON.stringify(obj, (key, value) => { if (key === ‘name‘) { return 111111 } return value // 这里的return返回的是修改过后的整个值,一定要返回哦 })) // "{"name":111111,"age":18}"
(3)第三个参数为字符串或数值时, 字符串会以该字符向前填充,数值则按照tab键个数填充
let obj = { name: ‘良人‘, age: 18, hobby: ‘play‘ } console.log(JSON.stringify(obj, null, ‘***‘)) // "{ // ***"name": "良人", // ***"age": 18, // ***"hobby": "play" // }" console.log(JSON.stringify(obj, null, 8)) // { // "name": "良人", // "age": 18, // "hobby": "play" // }
(4)对象可以定义一个toJSON 方法,JSON.stringify时得到这个方法返回的值
const obj = { name : ‘良人‘, age : 18, hobby: ‘play‘, toJSON() { return { myInfo: `${this.name} + ${this.age}` } } } console.log(JSON.stringify(obj)) // "{"myInfo":"良人 + 18"}"
标签:gif 数组 函数 ring pre rgb obj str null
原文地址:https://www.cnblogs.com/liandudu/p/14338832.html