如何在Javascript对象中添加集合

时间:2014-06-19 06:58:15

标签: javascript jquery arrays

你好我在javascript中创建一个二维数组。对象看起来像这样。

totalCells = [
    lineNumber = 0,
    cells = []
 ];

如何将其添加到此阵列?

我可以totalCells.push(1, ['a', 'b', 'c']);

但这会引发错误:cells is not defined

3 个答案:

答案 0 :(得分:3)

你无法做你正在尝试的事情。如果要在数组中使用键,请使用对象。然后你可以这样做:

var totalCells = {
    lineNumber: 0,
    cells: []
};

// some logic...

totalCells.lineNumber = 1;
totalCells.cells = ['a', 'b', 'c'];

或者,您可以使用一组对象将cells直接绑定到多个lineNumbers:

var totalCells = [];

// some logic...

totalCells.push({
    lineNumber: 1,
    cells: ['a', 'b', 'c']
});

totalCells.push({
    lineNumber: 2,
    cells: ['x', 'y', 'z']
});

答案 1 :(得分:0)

对二维数组建模的一种更简单的方法是使用数组数组。 e.g。

totalCells = [];

totalCells.push(['a','b','c']);
totalCells.push(['d','e','f']);

行号是隐式的,例如,在这种情况下,totalCells [0]是第一行等等。

答案 2 :(得分:0)

作为罗里答案的替代品。使用对象

var totalCells = {}

然后你可以直接添加键/属性:

totalCells[1] = ['a','b','c']
totalCells[2] = ['d','e','f']

这样做的好处是可以将对象用作地图:

totalCells[1]将返回['a','b','c']

使用你nderscore.js(或lodash),然后你就可以进行奇特的操作,比如提取键等......