通过Array循环并仅接收特定数据

时间:2016-01-18 11:55:06

标签: javascript arrays google-apps-script

尝试将数据从Array中提取到Logger。 代码如下所示:

function createTable() { 

var body = DocumentApp.getActiveDocument().getBody();

 // Create a three-dimensional array containing the cell contents.
 var cells = [
   ['Row 1, Cell 1', 'Row 1, Cell 2', 'Row 1, Cell 3'],
   ['Row 2, Cell 1', 'Row 2, Cell 2', 'Row 2, Cell 3'],
   ['Row 3, Cell 1', 'Row 3, Cell 2', 'Row 3, Cell 3']
 ];

 // Build a table from the array.
 body.appendTable(cells);

for(var i=0; i<cells.length;i++){
  var cl = cells[i];
  Logger.log(cl[0]);  
}

所以Logger.log(cl[0]);记录了这个:

[16-01-18 12:52:40:577 CET] Row 1, Cell 1
[16-01-18 12:52:40:578 CET] Row 2, Cell 1
[16-01-18 12:52:40:578 CET] Row 3, Cell 1

Logger.log([1]);记录下这个:

[16-01-18 12:53:46:036 CET] Row 1, Cell 2
[16-01-18 12:53:46:037 CET] Row 2, Cell 2
[16-01-18 12:53:46:037 CET] Row 3, Cell 2

问题:我如何获得特定值,例如,如果我希望'Row2, Cell 3'被记录?

2 个答案:

答案 0 :(得分:2)

怎么样:

for(var i=0; i<cells.length;i++){
    var cl = cells[i];
    if(cl[1] == 'Row2, Cell 3')
        Logger.log(cl[1]);
}

答案 1 :(得分:1)

如果你只打印一个单元格,你甚至不需要循环..

Logger.log(cells[1][2]);