javascript - 过滤掉任何不是数字的东西

标签 javascript google-apps-script google-sheets

下面的代码用于将变量电子邮件作为电子邮件收件人传递给 GmailApp。这会过滤掉所有非空白行。我遇到了一个新问题,即遇到错误数据。有没有办法让它过滤掉任何不是数字而不是空格的内容?

var originalSpreadsheet = SpreadsheetApp.getActive();
//var contacts = originalSpreadsheet.getSheetByName('Sheet1');
//var numRows = contacts.getLastRow();
//var emailTo = contacts.getRange(2, 1, numRows, 1).getValues();  

var ss = SpreadsheetApp.getActiveSpreadsheet();
const contacts = ss.getRange('A2:A17').getValues(); // 2D array
const filtered = contacts.filter ( function (row) {
                   return (row[0] != "");})

const emails = filtered.map(function (nameRow) { return nameRow[0] + "@gmail.com"; });

最佳答案

你能用类似的东西吗,

const filtered = contacts.filter(function (row) {
  return !isNaN(row[0]);
});

isNaN 将对所有非数字返回 true,而不仅仅是 NaN 值。

<小时/>

(Google 目前不支持箭头函数,如果这种情况发生变化,或者您需要在不同的上下文中使用解决方案,以下方法也可能有效)

const filtered = contacts.filter(row => !isNaN(row[0]));

关于javascript - 过滤掉任何不是数字的东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52462644/

相关文章:

google-apps-script - 如何在谷歌文档表格单元格中对齐文本

javascript - indexOf 无法在 Google Apps 脚本中工作

google-sheets - 在 Google 表格中的多个工作表中使用 Vlookup

google-sheets - 忽略给定单词的大小写

html - 如何找出要从网页中导入的表的索引是什么?

javascript - Bootbox 中主干 View 的 'this' 上下文

javascript - 单击时将焦点更改为元素

google-apps-script - Google Apps 脚本调用地址验证 API

php - 代码改进

javascript - Framework7 上未显示涟漪效果和图标