尝试将多个类似的对象添加到另一个对象

时间:2012-02-06 18:16:06

标签: javascript jquery oop

我正在尝试编写一个函数,该函数会向对象添加一个具有可选“单元格”的新“行”。这是我的代码:

   var init = function() {
    var num = 0;
    var count = 0;

    var SC = {}

    var rowAdd = function() {
        num = num + 1
        var cellstate = false;

        var objCount = count + 1

        var rowObj = {
            number: num,
            cell: cellstate
        }

        return SC.rowObj;
    }

    var initialize = function() {
        rowAdd();
    }
initialize();
}
$(document).ready(function() {
    init();

    addRowBtn.click(function() {
        rowAdd();
    });

    addCellBtn.click(function() {
        SC.row1.cell = true;
    });
});

每次调用rowAdd()时,此方法都会重写行。最后,我希望单个对象SC包含每一行,每行应具有cell属性。我怎么能这样做?

3 个答案:

答案 0 :(得分:1)

试试这个。您也可以num使用objCount而不需要cellState变量。

var init = function() {
    var num = 0, SC = {}

    var rowAdd = function() {
        num = num + 1;
        SC["row" + num] = {
            number: num,
            cell: false
        }
        return SC;
    }
}

答案 1 :(得分:0)

如何使SC成为一个数组并将新行推送到数组上:

var SC = [];

var rowAdd = function() {
    num = num + 1
    var cellstate = false;

    var objCount = count + 1;
    var rowObj = "row" + objCount;

    var rowObj = {
        number: num,
        cell: cellstate
    }

    return SC.push(rowObj);
}

答案 2 :(得分:0)

您希望SC上有一个数组对象来保存您的行。

var SC = { rows: [] };

然后添加到它

SC.rows.push(rowObj);

访问

SC.rows[index]