Очистить массив с пустыми элементами - PullRequest
0 голосов
/ 12 июня 2018

Я записал объект как второй элемент в массиве, а затем отсортировал его.В результате мы получили массив из одного объекта и двух пустых значений, которые никак не указаны.Это выглядит так: [{...}, 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 голосов
/ 12 июня 2018

Добавьте новые элементы в конец массива с помощью 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) {
        <b>levels.push(</b>{ //Writing object
            Level: data.Levels[i],
            Position: i
        }<b>)</b>;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...