如题,入参是一个未知的数据结构,可能是对象或是一个数组,过滤掉里面所有空字符串,null, undefined,NaN等, 但是不包括数字0和false,(包括空对象或者空数组)。有什么性能较优的方法处理吗?
如题,入参是一个未知的数据结构,可能是对象或是一个数组,过滤掉里面所有空字符串,null, undefined,NaN等, 但是不包括数字0和false,(包括空对象或者空数组)。有什么性能较优的方法处理吗?
不确定层级肯定是递归去解决
然后就是判断是不是为空
大概的实现逻辑可以参考深拷贝、或者说发ajax时的一些过滤方法。
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
首先 JSON.stringify可以清除掉undefined,NaN,function
然后对字符串做处理
大概代码如下
JSON.stringify({a:0, b: null, c: undefined, d:NaN, e:function() {}, f: '', g: [], h: {}}).replace(/,?"[a-zA-Z0-9_]+\"\:((\{\})|(\[\])|""|null)/g, '')
最后再JSON.parse一下就好了