我将对象写为数组中的第二个元素,然后对其进行排序。结果,我们得到了一个对象和两个空值的数组,这些都没有以任何方式表示。
它看起来像这样:[{...}, 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;
});
答案 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
});
}
}