过滤掉不是数字的任何内容

时间:2018-09-23 03:13:24

标签: 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"; });

1 个答案:

答案 0 :(得分:1)

您可以使用类似的东西

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

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


(Google当前不支持箭头功能,如果此更改或者您需要在其他情况下使用该解决方案,则以下方法也可能适用)

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