如何在JavaScript中创建4维数组?

时间:2018-09-11 12:23:37

标签: javascript arrays multidimensional-array protractor

我正在与量角器和BDD合作。我想检查网站正文中显示的文字是否正确。我有三个下拉框,文本取决于这三个选项。

我将使用getText()从网站上读取文本,并希望将其与期望的文本进行比较。预期的文本取决于三个下拉框和网站部分的值,因此我需要创建一个4D数组。

如何声明数组并分配期望的文本?

我需要这样的东西:

template[0][2][1][0]='this is the expected text';

2 个答案:

答案 0 :(得分:0)

您可以编写可为您提供嵌套Array列表的自定义代码。示例如下:

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));

答案 1 :(得分:0)

我认为,如果您构造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]] = {}
            .....
        }
    }
}

如果愿意,也可以使用相同的代码来初始化数组。