方案一

function cleanArray(actual) {
    let newArray = [],
        i = 0,
        item = null;

    for (; i < actual.length; i++) {
        item = actual[i];
        if (item != null && item != undefined && item != '') {
            if (Array.isArray(item) && !item.length) continue;
            if (JSON.stringify(item) == "{}") continue;

            newArray.push(item);
        }
    }
    return newArray;
}
let data = [3, undefined, 6, null, 7, '', [9], [], {name: '舒冬'}, {}, 5, '半晨'];
console.log(cleanArray(data));
// [3, 6, 7, Array(1), {…}, 5, '半晨']

方案二

let data = [3, undefined, 6, null, 7, '', "", [9], [], { name: '舒冬' }, {}, 5, '半晨'],
    result = data.filter(item => !item == '' && !item == "" && ![undefined, 'undefined', null, 'null', [], '[]', {}, '{}'].includes(JSON.stringify(item)));
    
console.log(result);
// (7) [3, 6, 7, Array(1), {…}, 5, '半晨']
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐