Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我怎样才能在三列(谷歌应用程序脚本)中显示一个看起来像数组,但(对我来说)不';你不能表现得像一个人吗?_Javascript_Arrays_Google Apps Script - Fatal编程技术网

Javascript 我怎样才能在三列(谷歌应用程序脚本)中显示一个看起来像数组,但(对我来说)不';你不能表现得像一个人吗?

Javascript 我怎样才能在三列(谷歌应用程序脚本)中显示一个看起来像数组,但(对我来说)不';你不能表现得像一个人吗?,javascript,arrays,google-apps-script,Javascript,Arrays,Google Apps Script,如何在我的web应用程序上以三列显示此报税表,最好使用给定的标题 (算出了!) 这可能很重要 根据gvizQuery函数的作者,我使用该函数在引用的谷歌工作表中查找数据,返回的是一个数组数组 另外,我现在运行Google Apps脚本的V8 因此,这是代码的最简单版本,我提供了一个序列号,它被发送到查询函数,并与对ou和最近用户的引用一起返回。 document.getElementById(“btnserno1”).addEventListener(“单击”,获取CBOU); 函数fetchC

如何在我的web应用程序上以三列显示此报税表,最好使用给定的标题

(算出了!)

这可能很重要 根据gvizQuery函数的作者,我使用该函数在引用的谷歌工作表中查找数据,返回的是一个数组数组

另外,我现在运行Google Apps脚本的V8

因此,这是代码的最简单版本,我提供了一个序列号,它被发送到查询函数,并与对ou和最近用户的引用一起返回。
document.getElementById(“btnserno1”).addEventListener(“单击”,获取CBOU);
函数fetchCBOU(){
var sernum=document.getElementById(“序列”).value;
google.script.run
.withSuccessHandler(printCBOUU)
.queryCBOU(sernum);
}
window.printCBOUU=函数(CBOUU){
控制台日志(CBOUU);
变量CBOU1=CBOUU
document.getElementById('idCB').innerHTML=CBOU1[0];
document.getElementById('idCBOU')。innerHTML=CBOU1[1];
document.getElementById('idCBRecent').innerHTML=CBOU1[2];
}
我猜你可以从这里开始:

function splitItUp() {
  const data='[[[5CD9264KBW, /Grundskolor/Boras, user1@my.domain], [5CD9264K64, /Grundskolor/Boras, user2@my.domain], [5CD9264K7V, /Grundskolor/Boras, user3@my.domain], [5CD9264K6M, /Grundskolor/Boras, user4@my.domain]]';
  let a=data.slice(3,-2).trim().replace(/\], \[/g,'~~~').split('~~~');
  let b=[];
  a.forEach(function(r){b.push(r.split(', '));});
  let html='<style>td,th{border:1px solid black;}</style><table>'; 
  b.forEach(function(r,i){html+=`<tr><td>${r[0]}</td><td>${r[1]}</td><td>${r[2]}</td></tr>`;});
  html+='</table>';
  var ui=HtmlService.createHtmlOutput(html);
  SpreadsheetApp.getUi().showModelessDialog(ui, 'Split It Up')                                     
}

@主菜单,即“视图”菜单(Ctrl-Enter)。在我运行序列号搜索后,返回数据将显示在日志中。谢谢你纠正我的问题,顺便说一句。是的,这是一个网络应用程序。在工作表上运行查询并返回日志中显示的数据。然后,我尝试在web应用程序页面上以三列(在一个表中或三个
  • 值)的形式显示该数据。我在这里发布了基本代码。但是页面js还没有包含上述代码,因为它不起作用。我只在我的开发中有它。这是旧代码在一个匹配项下的样子(与上面的代码不同)。我想在下面列出更多的比赛。您可以对动态数据执行console.log吗?因为Coopers响应上的静态数据是字符串而不是数组。这可能是错误的。嗨,@Kessy,这就是我在开始描述这个问题时看到的。两幅黑色背景的图像显示console.log结果,其中包含单个匹配和多个匹配。我和其他人可能没有注意到的是,console.log中的结果是一个数组数组。所以也许我们攻击得不对。我最新的想法是,可能原始的动态返回需要一个嵌套的for循环(两个循环)来解构数据,而不是像我在下面所做的那样对其进行操作。不要在问题中回答您的问题,因为这样会使您难以阅读和理解实际问题是什么,以及解决方案是什么。相反,写一个答案。我不是想把它写在纸上。我正在尝试在web应用程序中显示它。我无法手动写入这些值,因为它们是从函数返回的。嗯,看看您的第二次尝试。。。这难道不需要我看表格上的结果吗?访问web应用程序的用户没有/不会看到工作表。是的,在管理员的问题上,所有这些都发生在web应用程序中。该表不可见,只能在后台通过web应用程序访问。我给了你一个数组,其中包含所有数据。我想你对html和javascript有所了解,那么问题出在哪里?显然我知道的还不够。在我的代码中,数组不是那样写的。它在变量CBOUU中返回,如果我交换您的代码以这样开始<代码>常量数据=CBOUU我会立即得到一个错误,上面写着
    uncaughttypeerror:data.slice(…).trim不是一个函数
    ,即使它运行了,我也不知道如何处理b.forEach函数的结果。基本上,您使用的代码太少,我无法理解您的答案。我无法将您对电子表格的引用转换为我的web应用程序。
    function splitItUp() {
      const data='[[[5CD9264KBW, /Grundskolor/Boras, user1@my.domain], [5CD9264K64, /Grundskolor/Boras, user2@my.domain], [5CD9264K7V, /Grundskolor/Boras, user3@my.domain], [5CD9264K6M, /Grundskolor/Boras, user4@my.domain]]';
      let a=data.slice(3,-2).trim().replace(/\], \[/g,'~~~').split('~~~');
      let b=[];
      a.forEach(function(r){b.push(r.split(', '));});
      let html='<style>td,th{border:1px solid black;}</style><table>'; 
      b.forEach(function(r,i){html+=`<tr><td>${r[0]}</td><td>${r[1]}</td><td>${r[2]}</td></tr>`;});
      html+='</table>';
      var ui=HtmlService.createHtmlOutput(html);
      SpreadsheetApp.getUi().showModelessDialog(ui, 'Split It Up')                                     
    }
    
    function splitItUp() {
      const data='[[[5CD9264KBW, /Grundskolor/Boras, user1@my.domain], [5CD9264K64, /Grundskolor/Boras, user2@my.domain], [5CD9264K7V, /Grundskolor/Boras, user3@my.domain], [5CD9264K6M, /Grundskolor/Boras, user4@my.domain]]';
      let a=data.slice(3,-2).trim().replace(/\], \[/g,'~~~').split('~~~');
      let b=[];
      a.forEach(function(r){b.push(r.split(', '));});
      let html='<style>td,th{border:1px solid black;}</style><table>'; 
      b.forEach(function(r,i){html+=`<tr><td>${r[0]}</td><td>${r[1]}</td><td>${r[2]}</td></tr>`;});
      html+='</table>';
      //var ui=HtmlService.createHtmlOutput(html);
      //SpreadsheetApp.getUi().showModelessDialog(ui, 'Split It Up')
      document.getElementByID('iddeviceInfo').innerHTML=html;
    }
    
    <!DOCTYPE html>
    <html>
      <head>
        <base target="_top">
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
        <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
        <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
    
      <script>
      $(function(){
        splitItUp();
      });
      function splitItUp() {
        const data='[[[5CD9264KBW, /Grundskolor/Boras, user1@my.domain], [5CD9264K64, /Grundskolor/Boras, user2@my.domain], [5CD9264K7V, /Grundskolor/Boras, user3@my.domain], [5CD9264K6M, /Grundskolor/Boras, user4@my.domain]]';
        let a=data.slice(3,-2).trim().replace(/\], \[/g,'~~~').split('~~~');
        let b=[];
        a.forEach(function(r){b.push(r.split(', '));});
        let html='<style>td,th{border:1px solid black;}</style><table>'; 
        b.forEach(function(r,i){html+=`<tr><td>${r[0]}</td><td>${r[1]}</td><td>${r[2]}</td></tr>`;});
        html+='</table>';
        document.getElementById('mydiv').innerHTML=html;
      }  
      console.log('My Code');
      </script>
      </head>
      <body>
        <div id="mydiv"></div>
      </body>
    </html>
    
    function runOne() {
      SpreadsheetApp.getUi().showModelessDialog(HtmlService.createHtmlOutputFromFile('ah1'), 'Data');
    }