需要协助建立复杂的JS对象(Need help building complex JS object

2019-10-22 17:31发布

我试图构建的JavaScript数组,但我不知道正确的方式去做,或者如果这种类型的数组甚至有可能...

可以说,我对每个项目在数组中以“A”与“Z”结尾的关键。 对于每个项目,该阵列密钥将与另一个多维数组对应。 这些新的多维数组是一系列坐标(x和y)的。 原始数组中的每一项可以有很多套坐标。 例如:

我如何构建使用JavaScript这样的阵列? 什么是正确的语法?

Answer 1:

对于数据您提供:

var arr = {
  a: [[20,15],[25,17],[10,45]],
  b: [[10,33],[12,2],[14,9],[72,103],[88,12]],
  c: [[2,2],[41,21]],
  d: [[0,0],[21,2],[44,44],[19,99],[1,1],[100,100]],
  e: [[1,1],
  f: [[3,40],[41,86]]
}

你想第一个结构,键阵列,是不是在JavaScript中的数组 - 它是一个对象。 对象包含键 - 值对。 在这种情况下,值是数组,并且在这些阵列中的对象本身是数组。

一个重要的事情,这里要注意,如果你从定义“常规”多维数组另一种语言来是没有预期或保证的这种结构的“行”都是一样的长度。



Answer 2:

我想补充另一个可能的选项列表,上线和一​​样@ SMcCrohan的答案,混合对象和数组。

var coords = {
    a: [{
            x: 20,
            y: 15
        },
        {
            x: 25,
            y: 17
        }],
    b: [{
            x: 10,
            y: 30
        }],

    ....
};

这是假设你总是会使用坐标xy ,这意味着你可以访问像这样的价值观:

var value1 = coords.a[1].x; // 25
var value2 = coords.b[0].y; // 30


文章来源: Need help building complex JS object