如何访问javascript数组中的元素

时间:2017-11-30 23:34:33

标签: javascript arrays

如何访问此数组的数据对象中的整数?

最终,我想编写一个for循环来输入和计算vpos(顶点)。

var arrays = {
vpos : { numComponents: 3, data: 
                [
                    -.5,-1,-.5,  .5,-.5,-.5,  .5, .5,-.5,
                    -.5,-.5,-.5,  .5, .5,-.5, -.5, .5,-.5,
                    -.5,-.5, .5,  .5,-.5, .5,  .5, .5, .5
                ] },
    vnormal : {numComponents:3, data: [
                    0,0,-1, 0,0,-1, 0,0,-1,
                    0,0,-1, 0,0,-1, 0,0,-1,
                    0,0,1, 0,0,1, 0,0,1,
                    ]}
            };

4 个答案:

答案 0 :(得分:1)

您可以使用reduce轻松计算总数:

let total = arrays.vpos.data.reduce((sum, val) => sum + val, 0);

这是一个演示:



var arrays = {
  vpos: {
    numComponents: 3,
    data: [-.5, -1, -.5, .5, -.5, -.5, .5, .5, -.5, -.5, -.5, -.5, .5, .5, -.5, -.5, .5, -.5, -.5, -.5, .5, .5, -.5, .5, .5, .5, .5]
  }
};

let total = arrays.vpos.data.reduce((sum, val) => sum + val, 0);
console.log(total);




答案 1 :(得分:0)

只需使用[index]表示法。索引从零开始(第一项的索引为0,第二项为1,依此类推)。

arrays.vpos.data[0] //gives -0.5
arrays.vpos.data[1] //gives -1
arrays.vpos.data[2] //gives -0.5

答案 2 :(得分:0)

vpos

var pushedArray;
for(var x of arrays.vpos.data) {
    pushedArray.push(x);
}

pushedArray将包含data数组中的值。

添加它们:

var sum;
for(var x of pushedArray) {
    sum += x;
}

答案 3 :(得分:-1)

是的,您可以在d中获取数据数组,然后创建for循环

var v =  {
vpos : { numComponents: 3, data: 
                [
                    -.5,-1,-.5,  .5,-.5,-.5,  .5, .5,-.5,
                    -.5,-.5,-.5,  .5, .5,-.5, -.5, .5,-.5,
                    -.5,-.5, .5,  .5,-.5, .5,  .5, .5, .5
                ] },
    vnormal : {numComponents:3, data: [
                    0,0,-1, 0,0,-1, 0,0,-1,
                    0,0,-1, 0,0,-1, 0,0,-1,
                    0,0,1, 0,0,1, 0,0,1,
                    ]}
            };
            var d = v.vpos.data;
            console.log(d);