今天有个人(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
或者自己研究下递归
好了,这下可以了,递归的要怎么写呢?
???????
编程要先看懂代码,学什么东西才会越快,更要举一反三
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。