我有一个以下格式的数组对象,需要删除数组的属性。
代码:
var partDetailArray={[PartId:100,PartRowID:'row-1']
,[PartId:100,PartRowID:'row-1']};
delete partDetailsArray.PartRowID;
我需要从数组中删除PartRowID
属性,但delete
语句不起作用。
答案 0 :(得分:1)
如果你查看控制台,你会发现你因为我在问题评论中提出的原因而导致该代码出现语法错误。
我猜你的意思是要有一个包含对象的数组,如下所示:
var partDetailArray = [
{PartId:100,PartRowID:'row-1'},
{PartId:100,PartRowID:'row-1'}
];
在这种情况下,数组不具有PartRowID
属性,但其中的每个对象都具有delete partDetailsArray[0].PartRowID;
// Indexing into it ---^^^
属性。所以我们需要索引数组来访问对象,并从中删除属性:
var index;
for (index = 0; index < partDetailArray.length; ++index) {
delete partDetailsArray[index].PartRowID;
}
那将从第一个删除该属性。如果你想删除所有这些,你需要一个循环:
{{1}}