【发布时间】:2017-05-09 08:39:57
【问题描述】:
我有一个包含这样的对象的对象。Object {MAILING ADDRESS: "P O BOX 59", APN: "066-102-11-1"}。现在我需要没有空对象的数据。就像我得到这样的输出 Output
Object {MAILING ADDRESS: "P O BOX 59", APN: "066-102-11-1"}
Object {MAILING ADDRESS: "", APN: ""}
Object {MAILING ADDRESS: "P O BOX 3", APN: "066-105-11-1"}
Object {MAILING ADDRESS: "", APN: ""}
所以在这种情况下,我不想获得第二个和第四个对象。如果是 100,我不想获得 2,4,6,8..100 索引。因为一次之后的输出是重复的,我必须删除它。 ScreenShot of output I getting
//Code How I am creating this
ExportTool.prototype.click = function(value) {
var lidtest = mapport.panels.info.current.selection.features.mem;
if (value != undefined) {
var lid = lidtest[value].attributes.layer_id;
} else {
var lid = lidtest[0].attributes.layer_id;
}
if (!lid) return;
var tbody;
var thead;
tbody = $('<tbody></tbody>');
thead = $('<thead></thead>');
self = this;
// Reset
this.tblHeader = [];
this.tblData = [];
this.labelData = [];
// thead.children().remove();
// tbody.children().remove();
//var tbody;
var layer = mapport.layer(lid);
var tr = $('<tr></tr>');
layer.fields.each(function(field) {
tr.append($('<th ></th>').text(field.name));
// Table heading for the PDF
if (self.availableForTable.indexOf(field.name.toUpperCase()) != -1)
self.tblHeader.push(field.name);
});
tbody.append(tr);
var features = mapport.panels.info.current.features();
for (var i = 0; i < features.length; ++i) {
if (features[i].geometry != null) {
var data = features[i].attributes.data,
row_data = [],
row_field, obj_field = {};
tr = $('<tr></tr>');
layer.fields.each(function(field) {
var field_name = field.name.toUpperCase();
var td = $('<td></td>');
if (data[field.id] != null) td.text(data[field.id]);
tr.append(td);
if (self.availableForTable.indexOf(field_name) != -1) {
row_field = (data[field.id] != null) ? data[field.id] : '';
row_data.push(row_field);
obj_field[field_name] = row_field;
}
});
row_data = row_data.filter(function(entry) {
return /\S/.test(entry);
});
obj_field = JSON.parse(obj_field);
console.log(obj_field);
// Table Data for the PDF
this.tblData.push(row_data);
// Table Data for the PDF
this.labelData.push(obj_field);
tbody.append(tr);
$('#table_multi_layers').append(tbody);
}
}
}
【问题讨论】:
-
您能否发布完整的数据结构。这看起来更像是一个对象数组。
-
这是一个对象数组吗?
-
基础对象如何包含这些对象,它们是在数组中(
{addresses:[{...},{...}]})还是对象的属性({address1:{...},address2:{...}})? -
看起来您正在记录大量对象。使其成为一个数组,然后过滤它们
-
@RoryMcCrossan 像这样创建 obj_field = {};。我展示的这个结果是 console.log(obj_field );
标签: javascript jquery object