你好我在javascript中创建一个二维数组。对象看起来像这样。
totalCells = [
lineNumber = 0,
cells = []
];
如何将其添加到此阵列?
我可以totalCells.push(1, ['a', 'b', 'c']);
但这会引发错误:cells is not defined
答案 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),然后你就可以进行奇特的操作,比如提取键等......