繁体   English   中英

如何在Javascript对象中添加集合

[英]How to add a collection in Javascript objects

您好,我正在用JavaScript创建一个二维数组。 该对象看起来像这样。

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

如何将其添加到此数组?

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

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

您无法做您想做的事情。 如果要在数组中键入键,请使用一个对象。 然后,您可以执行以下操作:

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']
});

建模二维数组的一种更简单的方法是使用数组数组。 例如

totalCells = [];

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

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

作为Rory答案的替代方法。 使用物件

var totalCells = {}

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

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

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

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

然后,使用u nderscore.js (或lodash),可以执行一些有趣的操作,例如提取键等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM