改变你的编码思想

Posted JenK

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了改变你的编码思想相关的知识,希望对你有一定的参考价值。

今天有个人(2.5年工作经验)问我问题,觉得挺有意思,分享给大家

我有个对象要发送给后端,然后value为空的key要删除,怎么删除?
if(!data.name){
   delete data.name
}

我这个对象有好多字段,那我得判断到啥时候呢?

那你就用for in循环去判断进行删除


咋写呢?不会呀

然后我就写了个简单的demo

let data = {
  name: \'3434\',
  age: 0,
  time: \'\'
}

for (const key in data) {
  if (data[key] === \'\' || data[key] == null || data[key] == undefined) {
    delete data[key]
  }
}

过了一会他说,你这个不行啊,根本删除不掉!

我此时内心??????????????
我说我看你咋写的

let data = {
  page: {
    index: 1,
    page: 1
  },
  params: {
    ...
    name: this.listQuery.name,
    class: this.listQuery.class,
    type: this.listQuery.type,
    ...
  }
}

for (const key in data) {
  if (data[key] === \'\' || data[key] == null || data[key] == undefined) {
    delete data[key]
  }
}

我惊呆了!!!!

当时我感觉我被欺骗了,我写的demo是个摆设吗?或许我的demo得用递归.....

我说那你就一个一个判断吧(心累)

过了好久我给他回复,把demo中的data全部替换为
data.params或者自己研究下递归

好了,这下可以了,递归的要怎么写呢?

???????
编程要先看懂代码,学什么东西才会越快,更要举一反三

以上是关于改变你的编码思想的主要内容,如果未能解决你的问题,请参考以下文章

Sublime Text自定制代码片段(Code Snippets)

markdown 打字稿...编码说明,提示,作弊,指南,代码片段和教程文章

带有红宝石集合/可枚举的酷技巧和富有表现力的片段[关闭]

你的开发为何如此低效?

告诉我你的身份证(E)!

从 XML 声明片段获取 XML 编码:部分内容解析不支持 XmlDeclaration