在javascript中动态添加数组数组
Adding array of arrays dynamically in javascript
我正在尝试用javascript动态添加数组数组。我需要以下格式的数据-
var dataArray = [[],[],[],.....,[]];
如何初始化这种数组?假设我有三个数组要添加,我可以初始化如下-
var dataArray = [[],[],[]];
这将只接受要添加的三条记录。但是,在添加大量数组的情况下该怎么办?在这里,我无法知道我作为输入获得的数据量。我尝试过使用concat()和merge()方法,它们将内容直接添加到单个数组中,但这不是我想要的。有人能帮我吗?
您可以构建一个数组或将其添加到数组中,如下所示:
var dataArray = [];
dataArray.push([1,2,3]);
dataArray.push([3,4,5]);
console.log(dataArray); // [[1,2,3], [3,4,5]]
或者,如果您想将元素添加到子阵列中:
var dataArray = [];
dataArray.push([1,2,3]);
dataArray.push([3,4,5]);
dataArray[0].push(4);
dataArray[1].push(9);
console.log(dataArray); // [[1,2,3,4], [3,4,5,9]]
通过将数组分配给外部数组的元素来初始化子数组。然后,您可以直接在子数组元素上使用数组操作:
// create a sub-array element
dataArray[2] = [];
dataArray[2].push(8);
dataArray[2].push(7);
console.log(dataArray[2]); // [8,7]
console.log(dataArray); // [[1,2,3,4], [3,4,5,9], [8,7]]
你似乎不明白的关键是,数组就是这样。它是一个外部数组,其中外部数组中的每个元素本身就是一个数组。您可以使用普通数组方法对外部数组或内部数组进行操作。要对内部数组进行操作,可以从外部数组中获取该元素,然后将其视为数组。例如:
var dataArray = [];
dataArray.push([1,2,3]);
dataArray.push([3,4,5]);
console.log(dataArray); // [[1,2,3], [3,4,5]]
var innerArray = dataArray[0];
console.log(innerArray); // [1,2,3]
innerArray.push(12);
console.log(innerArray); // [1,2,3,12]
innerArray.legnth = 2;
console.log(innerArray); // [1,2]
innerArray.push(9,8,7);
console.log(innerArray); // [1,2,9,8,7]
innerArray.splice(1,2);
console.log(innerArray); // [1,8,7]
您曾写道"我正试图在javascript中动态添加数组"
简单的方法是使用Array.prototype.push
方法:
var arr1 = [1,2], arr2 = [3,4], arr3 = [5,6], arr4 = [7,8], arr5 = [9,10],
dataArray = [];
[].push.apply(dataArray, [arr1, arr2, arr3, arr4, arr5]);
console.log(JSON.stringify(dataArray, 0, 4));
console.log输出:
[
[
1,
2
],
[
3,
4
],
[
5,
6
],
[
7,
8
],
[
9,
10
]
]
有很多方法可以做到这一点。一个简单的例子可以是
var arrayN = n => Array(n).fill([])
document.write("<pre>" + JSON.stringify(arrayN(10)) + "</pre>")
另一种想法是,如果你已经有了数组的数组,那么连接它们的最简单的方法应该是使用新的排列运算符,比如;
var arr = [[1,2,3],[1,3,5]],
brr = [[3,2,1],[7,8,9]];
arr.push(...brr);
document.write("<pre>" + JSON.stringify(arr) + "</pre>");
相关文章:
- 向多维数组添加值和从多维数组请求值
- 如何将JS数组添加到Meteor自动表单条目中
- 在不使用循环的情况下,从一个数据库字符串值向javascript数组添加多个对象
- 将行从数组添加到谷歌图表
- 从不同的数组添加重复的图块 PIXI.js
- 如何在 Javascript 中向数组添加其他对象
- 将javascript数组添加到多维数组中
- Coderbyte数组添加解决方案--For循环与For循环
- Knockout.js向数组添加新项
- Highcharts将变量数组添加到序列中
- 向javascript对象数组添加值
- 我可以用Javascript向数组添加函数吗
- 将数组添加到另一个数组
- 你能给被劫持的JavaScript数组添加一个函数吗
- 我可以向数组添加对象键吗
- 如何向JSON数组添加新属性
- 通过将$resource查询数组添加到AngularJS中另一个数组的底部来进行分页加载
- 使用名称/值从 json 数组添加项
- Javascript数组添加 - 所有组合
- 从 json 文件向 javascript 数组添加值