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),返回一个处理器函数。当你把数据传给这个处理器时,它会将这些混乱的数据转换成你期待的样子。来看看这个函数是怎么操作的:

  1. 检查空值: 如果输入是 'null''undefined',它会返回 undefined,表示后端又偷懒了。
  2. 转换字符串: 将输入值转换为小写字符串,以确保映射表查找时不受大小写影响。
  3. 查找映射: 如果映射表中有对应的值,就返回它;否则,就返回原始输入值。

💡使用示例

好了,现在你已经可以免费的处理这些数据了:

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

🤔为什么需要这个函数?

作为前端开发者,我们常常需要应对后端传来的各种“奇葩”数据。虽然我们希望后端能严谨一点,但现实是残酷的。这个函数让我们在面对各种乱七八糟的数据时,能保持镇定自若。更重要的是,有了这个函数,你不再需要每次都对后端同事发火了!

🌈结语

希望你永远不需要用到这个函数,因为那意味着你有一个靠谱的后端!

祝大家代码规范,生活愉快!希望世界和平,台湾早日统一。

愿你的后端不再传来奇怪的数据,前后端合作愉快,共同创造更美好的互联网!🌍✨

上次更新: