如何在Javascript

时间:2016-02-06 15:57:26

标签: javascript arrays object iteration

我有一个对象(obj),其中包含excel表的内容(使用node-xlsx库)。 console.log(obj)为我提供了以下数据结构:

[ { name: 'Autostar Report',
data:
 [ [Object],
   [],
   [Object],
   [Object],
   [Object],
   [Object],
   [Object],
   [Object],
   [Object],
   [Object],
   [Object],
   [],
   [object]
]}]

data中的每个对象都包含以下值:

[
            8,
            "Enugu - Abuja",
            "Sienna Executive ( 1st )",
            5,
            "9,000",
            "45,000",
            "5,500",
            "39,500"
        ],
        [
            14,
            "Enugu - Lagos",
            "Sienna Executive ( 1st )",
            5,
            "9,000",
            "45,000",
            "8,600",
            "36,400"
        ]

data中包含的每个对象包含8个值。我想将值插入数据库表。每个值都转到表中的一个字段。 请问如何访问每个data对象中的值?

1 个答案:

答案 0 :(得分:2)

请注意,当obj.data值确实是数组数组时,您会继续说“对象”。对于数组,可以通过数字索引访问值。

因此,鉴于您的数据结构以及您只选择了javascript,您可以像这样访问数据:

// ensure the object has a "data" attribute
if (obj.hasOwnProperty('data')) {
  // get the data into a variable for convenience
  var data = obj.data;
  // loop over each row
  for (i = 0; i < data.length; i++) {
    // put the row into a variable for convenience
    var row = data[i];
    // since it's an array, access each value by index
    console.log(row[0]);
    console.log(row[1]);
    console.log(row[2]);
    // ... etc ...
  }
}

Here's a working fiddle

在处理此类内容时,underscorelodash这样的库肯定会派上用场。