删除javascript数组中空元素

俺推荐大家使用filter方法,如果你的浏览器版本很老可以参见第二种方法。

filter

请记住,此方法将返回一个新数组,其中的元素通过您提供给它的回调函数的条件。

例如,如果要删除null或未定义的值:

var array = [0, 1, null, 2, "", 3, undefined, 3,,,,,, 4,, 4,, 5,, 6,,,,];

var filtered = array.filter(function (el) {
  return el != null;
});

console.log(filtered);

可替代方法

function cleanArray(a, removeNull) {
        var i, l, temp = [];
        l = a.length;
        if (removeNull) {
            for (i = 0; i < l; i++) {
                if (a[i] !== undefined && a[i] !== null) {
                    temp.push(a[i]);
                }
            }
        } else {
            for (i = 0; i < l; i++) {
                if (a[i] !== undefined) {
                    temp.push(a[i]);
                }
            }
        }
        a.length = 0;
        l = temp.length;
        for (i = 0; i < l; i++) {
            a[i] = temp[i];
        }
        temp.length = 0;
        return a;
    }
    var myArray = [1, 2, , 3, , 3, , , 0, , null, false, , NaN, '', 4, , 4, , 5, , 6, , , , ];
    cleanArray(myArray);
    myArray;

 

(0)
上一篇 2019年8月30日 下午3:49
下一篇 2019年8月30日 下午4:30

相关推荐

发表回复

登录后才能评论