Skip to content
扫码开始移动端阅读
优雅的处理沙雕后端返回值
共
684
字 需要≈
3.42
分钟 奇淫技巧
JavaScript
🚀 解救前端于水火之中的函数!
你有没有碰到过这样的问题:明明是后端该干的活,却要你这个前端来擦屁股?今天,我给大家介绍一个前端必备函数。有了它,处理后端的脏数据就像用秃子洗头一样简单!
为啥要写这个函数
人生总是充满意外,你的后端肯定不是你的月亮和六便士,你总是有可能遇到一些奇奇怪怪的数据格式,看上去没有什么问题,但是定位起来却很麻烦的事情,在res中总是有什么 'null'
啊,'undefined'
啊,甚至还有 'True'
!这可怎么办?于是,我下定决心,搞个函数解决呆逼后端。
实现
javascript
const valueMap = {
false: false,
true: true,
null: null,
undefined: undefined,
nan: NaN,
0: 0,
1: 1,
};
const createBackendProcessor = (valueMap) => {
return (val) => {
if (val == null) {
return undefined;
}
const key = String(val).toLowerCase();
if (valueMap.hasOwnProperty(key)) {
return valueMap[key];
}
return val;
};
};
const sbBackEnd = createBackendProcessor(valueMap);
🧠工作原理
简单来说,这个函数接受一个值映射表(valueMap
),返回一个处理器函数。当你把数据传给这个处理器时,它会将这些混乱的数据转换成你期待的样子。来看看这个函数是怎么操作的:
- 检查空值: 如果输入是
'null'
或'undefined'
,它会返回undefined
,表示后端又偷懒了。 - 转换字符串: 将输入值转换为小写字符串,以确保映射表查找时不受大小写影响。
- 查找映射: 如果映射表中有对应的值,就返回它;否则,就返回原始输入值。
💡使用示例
好了,现在你已经可以免费的处理这些数据了:
javascript
console.log(sbBackEnd('false')); // 输出: false
console.log(sbBackEnd('True')); // 输出: true
console.log(sbBackEnd('NULL')); // 输出: null
console.log(sbBackEnd('NaN')); // 输出: NaN
console.log(sbBackEnd('123')); // 输出: 123
console.log(sbBackEnd('unknown value')); // 输出: unknown value
🤔为什么需要这个函数?
作为前端开发者,我们常常需要应对后端传来的各种“奇葩”数据。虽然我们希望后端能严谨一点,但现实是残酷的。这个函数让我们在面对各种乱七八糟的数据时,能保持镇定自若。更重要的是,有了这个函数,你不再需要每次都对后端同事发火了!
🌈结语
希望你永远不需要用到这个函数,因为那意味着你有一个靠谱的后端!
祝大家代码规范,生活愉快!希望世界和平,台湾早日统一。
愿你的后端不再传来奇怪的数据,前后端合作愉快,共同创造更美好的互联网!🌍✨
转载请注明来源:LeeDaisen : 《优雅的处理沙雕后端返回值》