当前位置:网站首页>js 去除掉对象中的null,‘‘,[],{}
js 去除掉对象中的null,‘‘,[],{}
2022-07-30 05:41:00 【勿扰丶】
- 使用场景:提交表单的时候去掉一些无用的参数
function removeEmptyField(obj) {
var newObj = {
}
if (typeof obj === 'string') {
obj = JSON.parse(obj)
}
if (obj instanceof Array) {
newObj = []
}
if (obj instanceof Object) {
for (var attr in obj) {
// 属性值不为'',null,undefined才加入新对象里面(去掉'',null,undefined)
if (obj.hasOwnProperty(attr) && obj[attr] !== '' && obj[attr] !== null && obj[attr] !== undefined) {
if (obj[attr] instanceof Object) {
// 空数组或空对象不加入新对象(去掉[],{})
if(JSON.stringify(obj[attr]) === '{}' || JSON.stringify(obj[attr]) === '[]') {
continue
}
// 属性值为对象,则递归执行去除方法
newObj[attr] = removeEmptyField(obj[attr])
} else if (
typeof obj[attr] === 'string' &&
((obj[attr].indexOf('{') > -1 && obj[attr].indexOf('}') > -1) ||
(obj[attr].indexOf('[') > -1 && obj[attr].indexOf(']') > -1))
) {
// 属性值为JSON时
try {
var attrObj = JSON.parse(obj[attr])
if (attrObj instanceof Object) {
newObj[attr] = removeEmptyField(attrObj)
}
} catch (e) {
newObj[attr] = obj[attr]
}
} else {
newObj[attr] = obj[attr]
}
}
}
}
return newObj
}
const testObj = {
a: '',
b: 123,
c: null,
d: undefined,
e: [],
f: [1,2,3,'',null],
g: {
},
h: {
x:1,y:'',z:null},
i:false,
j:true,
k:[{
name:1},{
}]
}
console.log(JSON.stringify(removeEmptyField(testObj)))
// {"b":123,"f":[1,2,3],"h":{"x":1},"i":false,"j":true,"k":[{"name":1}]}
边栏推荐
猜你喜欢
随机推荐
P3 元宝第五单元笔记
flask的笔记
torch.load()
Pytorch to(device)
函数(c语言)
mysql间隙锁失效?
[详解C语言]一文带你玩转数组
目前主流浏览器以及对应的内核
C语言必会15个文件函数
Memories · The last system design in the university era
三子棋游戏——C语言
P3 元宝第七单元笔记
C语言(字符串,转义字符,关键字)
三子棋游戏实现(c语言)
操作系统面试整理
St. Regis Takeaway Project: New dishes and dishes paged query
多进程实现并发服务器
进程间的通信方式简介
Prime numbers (Tsinghua University computer test questions) (DAY 86)
零基础C语言“函数”教程,有手就行









