改变你的编码思想
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)