<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<style type="text/css">
span{
display: inline-block;
width:60px;
word-break: keep-all;
overflow: hidden;
text-overflow: ellipsis;
}
span:hover{
overflow: visible;
}
</style>
</head>
<body>
<div>
<span>
欢迎光临本寒舍啊哈哈哈哈啊哈哈哈
</span>
</div>
</body>
<script>
var arr = [
{
'a': 1,
'b': [],
'e': null,
'f': undefined,
'j': '哈哈哈',
'm': '',
'test': {}
},
{
'b': ''
},
{
'c': '',
'd': {
'e': null,
'f': undefined,
'g': 'test',
'h': [
{
'i': '',
'j': '哈哈哈',
'k': []
}
]
}
}
]
var obj = {
'c': '',
'd': {
'e': null,
'f': undefined,
'g': 'test',
'h': [
{
'i': '',
'm': '哈哈哈',
'j': '哈哈哈',
'k': []
},
{
'i': '',
'm': '哈哈哈',
'j': '哈哈哈',
'k': []
},
{
'i': '',
'j': '哈哈哈',
'j': '哈哈哈',
'k': []
}
]
}
}
function delUndefined(ob) {
for (let e in ob) {
if (typeof(ob[e]) === 'undefined' || ob[e] === null || ob[e] ===undefined || ob[e] ==='' || ob[e] === "null" ||ob[e].length ===0 || ob[e] === {} ) {
delete ob[e];
}
else if (ob[e].constructor === Object) {
if (Object.keys(ob[e]).length === 0) {
delete ob[e];
} else {
delUndefined(ob[e]);
}
}
else if (ob[e].constructor === Array) {
ob[e].map(function (seg) {
if (typeof(seg) === 'object') {
delUndefined(seg);
}
});
}
}
return ob;
}
console.log(delUndefined(arr),"arr")
console.log(delUndefined(obj),"obj")