我正在尝试创建一个函数来从多维数组中删除空值,但效果不是很好。不穿透到最后一层数组,当两个空值相邻时不移除。
function isArray(obj) {
// http://stackoverflow.com/a/1058753/1252748
return Object.prototype.toString.call(obj) === '[object Array]';
}
function removeEmptyArrayElements(obj) {
for (key in obj) {
if (obj[key] === null) {
obj = obj.splice(key, 1);
}
var isArr = isArray(obj[key]);
if (isArr) {
removeEmptyArrayElements(obj[key]);
}
}
return obj;
}