代码之家  ›  专栏  ›  技术社区  ›  Keith

为单个对象创建多个对象

  •  0
  • Keith  · 技术社区  · 7 年前

    最终结果需要如下所示:

    Name1: "John"
    Name2: "Johnson"
    Age: "30"
    City: "Atlanta"
    State: "GA"
    

    我试图将对象推送到一个对象中,但它所做的是创建一个包含多个对象的数组,我不能进行一次调用(比如,如果我将上面的所有数据包装成变量newData,我可以调用newData[0]并返回上面的内容)。目前,我正在这样尝试:

    var newData = [];
    $(data).each(function (i, value) {
        var getTitle = $(value).attr('data-title'); // Returns title
        var getData = $(value).val();
        newData.push({ getTitle : getData });
    });
    

    此代码生成如下结果:

    0:{ getTitle : "John" }
    1:{ getTitle : "Johnson" }
    2:{ getTitle : "30" }
    3:{ getTitle : "Atlanta" }
    4:{ getTitle : "State" }
    

    所以不知道我做错了什么。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Tyler Roper    7 年前

    看起来你根本不需要数组,而只需要一个对象。

    var newData = {};
    
    $(data).each(function (i, value) {
        var getTitle = $(value).attr('data-title'); // Returns title
        var getData = $(value).val();
        newData[getTitle] = getData;
    });