if (['boolean', 'number'].includes(getType(data))) {
return String(data)
} else if (getType(data) === 'string') {
return '"' + data + '"'
} else {
let result = []
// 7# All the other Object instances (including Map, Set, WeakMap, and WeakSet) will have only their enumerable properties serialized.
Object.keys(data).forEach((key) => {
// 4# All Symbol-keyed properties will be completely ignored
if (typeof key !== 'symbol') {
const value = https://www.isolves.com/it/cxkf/bk/2022-11-07/data[key]
// 3# undefined, Functions, and Symbols are not valid JSON values. If any such values are encountered during conversion they are either omitted (when found in an object) or changed to null (when found in an array).
if (!commonKeys1.includes(typeof value)) {
result.push(`"${key}":${jsonstringify(value)}`)
}
}
})
return `{${result}}`.replace(/'/, '"')
}
}
}
}
文章插图
写在最后
从一个 bug 开始 , 我们讨论了 JSON.stringify 的特性并自己实现了它 。
今天我与你分享这个故事 , 是希望你以后遇到这个问题 , 知道怎么处理 , 不要也犯同样的错误 。
如果你觉得有用的话 , 请点赞我 , 关注我 , 最后 , 感谢你的阅读 , 编程愉快!
推荐阅读
- 谢谢你医生|看了八集《谢谢你医生》,发现演技不能比较,因为优与劣一目了然
- 陈佩斯|为何很多人对陈佩斯的评价高于赵本山?是因为人品的原因吗?
- 董卓是因为貂蝉死的吗,杀了董卓之后貂蝉去哪里了-
- 张嘉益|金鹰奖失礼一幕:张嘉译最尴尬,因为没参加颁奖,所以不配推荐?
- 13种生发中药
- 运动减肥怎么喝水?
- 秦国这么强大到底因为什么灭,秦国这么强大为什么会被灭-
- 郭晶晶|霍启刚:郭晶晶比赛我最紧张,因为跟我恋爱错失冠军,我要被骂死
- 刘涛|41岁刘涛当众表演倒立,因为衣服不对劲,不小心......
- 血橙怎么吃