【问题标题】:How to create a 4 dimensional array in javascript? [duplicate]如何在javascript中创建一个4维数组? [复制]
【发布时间】:2018-09-11 12:23:36
【问题描述】:
我正在使用量角器和 BDD。我想检查网站正文中的文本是否正确。我有三个下拉框,文本取决于这 3 个选项。
我将使用 getText() 从网站读取文本,并希望它与预期文本进行比较。这个预期的文本取决于三个下拉框的值和网站的部分,所以我需要创建一个 4D 数组。
如何声明数组并分配预期的文本?
我需要这样的东西:
template[0][2][1][0]='this is the expected text';
【问题讨论】:
标签:
javascript
arrays
multidimensional-array
protractor
【解决方案1】:
您可以编写可以为您提供嵌套数组列表的自定义代码。示例如下:
function nestedMatrix(n) {
var total = 0, levels = n;
function nestedMatrix(n) {
var matrix = [];
for (var i = 0; i < levels; i++) {
matrix.push(n ? nestedMatrix(n - 1) : ++total);
}
return matrix;
}
return nestedMatrix(n)[0];
}
console.log(nestedMatrix(3));
【解决方案2】:
我认为,如果您构造一个 JSON 并传递从下拉列表中获得的值并获得预期的文本,那会更容易。您可以查看以下示例:
var array;
for(var i=0; i<firstDimention.lentgh; i++){
if (i == 0)
array = {};
for(var j=0; j<secondDimention.length; j++){
// Initializing 2D Array
if (j == 0)
array[firstDimension[i]] = {};
for(var k=0; k<thirdDimension.length; k++){
// Initializing 3D Array
if (k == 0)
array[firstDimension[i]][secondDimension[j]] = {}
.....
}
}
}
如果您愿意,也可以使用相同的代码来初始化数组。