清除带有空元素的数组

时间:2018-06-12 06:18:46

标签: javascript arrays sorting

我将对象写为数组中的第二个元素,然后对其进行排序。结果,我们得到了一个对象和两个空值的数组,这些都没有以任何方式表示。 它看起来像这样:[{...}, empty × 2] 我该如何清洁它?

我的代码

for (i = 0; i < data.Levels.length; i++) {
        $.each(data.Ranges, function() {
            for (var property in this) {
                if (this[property][i] != 0) {
                    isNullable = false;
                    break;
                }
            }
            if (!isNullable) {
                return false;
            }
        });
        if (!isNullable) {
            levels[i] = { //Writing object
                Level: data.Levels[i],
                Position: i
            };
        }
    }
levels.sort(function (a, b) {
    if (a.Level < b.Level) {
        return -1;
    }
    if (a.Level > b.Level) {
        return 1;
    }
    return 0;
});

1 个答案:

答案 0 :(得分:0)

使用push将新元素添加到数组的末尾,从而避免完全创建稀疏数组:

for (i = 0; i < data.Levels.length; i++) {
    $.each(data.Ranges, function() {
        for (var property in this) {
            if (this[property][i] != 0) {
                isNullable = false;
                break;
            }
        }
        if (!isNullable) {
            return false;
        }
    });
    if (!isNullable) {
        levels.push({ //Writing object
            Level: data.Levels[i],
            Position: i
        });
    }
}