Отфильтруйте все, что не является числом - PullRequest
0 голосов
/ 23 сентября 2018

Мой код ниже работает для передачи переменных писем 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 голосов
/ 23 сентября 2018

Не могли бы вы использовать что-то вроде,

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

isNaN вернет true для всех не чисел, а не только для NaN значений.


(Google не делаетв настоящее время поддерживают функции стрелок, если это изменится, или если вам нужно решение в другом контексте, может сработать и следующее)

const filtered = contacts.filter(row => !isNaN(row[0]));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...