Javascript 对对象数组进行排序以消除重复条目
我有这个对象数组Javascript 对对象数组进行排序以消除重复条目,javascript,asp.net,arrays,javascript-objects,arrayobject,Javascript,Asp.net,Arrays,Javascript Objects,Arrayobject,我有这个对象数组 var ArrTdsObjects = []; function TdMaster(id, HeaderTxt, CurrentIndex, SortOrder, Width, Color, BgColor) { this.id = id; this.HeaderTxt = HeaderTxt; this.CurrentIndex = CurrentIndex; this.SortOrder = SortOrder; this.Widt
var ArrTdsObjects = [];
function TdMaster(id, HeaderTxt, CurrentIndex, SortOrder, Width, Color, BgColor) {
this.id = id;
this.HeaderTxt = HeaderTxt;
this.CurrentIndex = CurrentIndex;
this.SortOrder = SortOrder;
this.Width = Width;
this.Color = Color;
this.BgColor = BgColor;
}
ArrTdsObjects.push(new TdMaster(
CurTdID,
CurTdInnerTxt,
CurTdCellindex,
CurTdSortOrder,
CurTdWidth,
"color", "bgColor"
)
);
在数组中添加了一些对象条目之后
我想根据curTdID
含义:如果较高的单元号具有相同的Id
,则数组中具有相同Id
的第一个单元将被忽略
如果索引编号较低的数组项位于较高的单元格编号中,如何消除它们
意味着数组中最后添加的项将是要保存的项 从0到array.length遍历数组,并将对象添加到“哈希”(读取:javascript多态对象)。注意:
var objects = [...];
var ids = {};
for (var i = 0; i < objects.length; ++i) { ids[objects[i].id] = objects[i]; }
// Now empty the list and push the non-duplicated objects back into it
objects = [];
// Check hasOwnProperty in case prototypes have been changed
for (var id in ids) { if (ids.hasOwnProperty(id)) { objects.push(ids[id]); } }
var objects=[…];
变量id={};
对于(var i=0;i
id
每个id
只能包含一个对象,因此只有最后一个具有id
的对象将保留在id
中。因此,在执行此操作后,您的数组中只能有id
的on实例
可能有更好的方法来清理数组,但是几乎可以肯定的是,有更好的方法来做任何你想做的事情,而不必首先清理数组。从0到array.length遍历数组,并将对象添加到“hash”(读:javascript多态对象)。注意:
var objects = [...];
var ids = {};
for (var i = 0; i < objects.length; ++i) { ids[objects[i].id] = objects[i]; }
// Now empty the list and push the non-duplicated objects back into it
objects = [];
// Check hasOwnProperty in case prototypes have been changed
for (var id in ids) { if (ids.hasOwnProperty(id)) { objects.push(ids[id]); } }
var objects=[…];
变量id={};
对于(var i=0;i
id
每个id
只能包含一个对象,因此只有最后一个具有id
的对象将保留在id
中。因此,在执行此操作后,您的数组中只能有id
的on实例
可能有更好的方法来清理数组,但是几乎可以肯定的是,有更好的方法来做任何你想做的事情,而不必首先清理数组。例如,使用“哈希”代替对象数组,从而保证每个ID只有一个对象。例如,使用“散列”代替对象数组,从而保证每个ID只有一个对象。