如何给出javascript匿名类型、带有递增计数器的属性名?

如何给出javascript匿名类型、带有递增计数器的属性名?,javascript,json,anonymous-types,Javascript,Json,Anonymous Types,下面是我的场景,我正在用javascript中的匿名类型“序列化”一些json数据,以便发回MVC控制器。也许我处理这个问题的方式不对,但我有一个嵌套对象中的对象列表或对象数组。下面是我发回的数据样本 var items = []; var counter = 0; $("#table > tbody > tr").each(function () { var ModelId = $(this).find("#models option:selected").val();

下面是我的场景,我正在用javascript中的匿名类型“序列化”一些json数据,以便发回MVC控制器。也许我处理这个问题的方式不对,但我有一个嵌套对象中的对象列表或对象数组。下面是我发回的数据样本

var items = [];
var counter = 0;
$("#table > tbody > tr").each(function () {
    var ModelId = $(this).find("#models option:selected").val();
    var Attrib1 = $(this).find("#attrib1 option:selected").val();
    var Attrib2 = $(this).find("#attrib2 option:selected").val();
    var Price = $(this).find("#price").val();
    var Notes = $(this).find("#notes").val();
    var ModelName = "MyObjects[" + counter + "].ModelId";
    var Attrib1Name = "MyObjects[" + counter + "].Attrib1";
    var Attrib2Name = "MyObjects[" + counter + "].Attrib2";
    var PriceName = "MyObjects[" + counter + "].Price";
    var NotesName = "MyObjects[" + counter + "].Notes";
    var item = {
       ModelName: ModelId,
       Attrib1Name: Attrib1,
       Attrib2Name: Attrib2,
       PriceName: Price,
       NotesName: Notes
    }
    items.push(item);
    counter++;
});
试着用两种不同的方式来做这件事(笑是可以接受的):)。但本质上我需要属性名作为变量的值,例如
ModelName

非常感谢您的帮助

谢谢,
Steven

不相关,但您的DOM中是否有重复的ID<代码>$(this.find(#price”).val()应该只有一个值。@戴维德曼你可能是对的,事实上,我是在另一个环境中思考的。”。让我很快试一试。@davidermann你说得对,哈哈。我不知道为什么我把事情弄得这么复杂。我忘记了它只是一个数组,而是想到了ASP.NETMVC的命名方案,它是通过一个普通表单帖子和一个ajax帖子接受的。如果你把这个作为答案,我会接受的。你为什么需要柜台?你正在构建一个数组;索引不意味着计数器值吗?