Это расширение этот вопрос ... Разница в том, что вопрос касается диапазонов из 1 столбца, а этот вопрос задает диапазоны из 1 или 2 столбцов.
У меня есть пара столбцов с набором чисел, которые я готовлю для запроса. Некоторые из этих чисел имеют лидирующие нули, и мне нужно будет сохранить их в списке с лидирующими нулями и без лидирующих нулей.
До сих пор я создал столбец значений с лидирующими и без лидирующих нулей. , Вот пример массива, когда I getValues
для столбцов.
[[1],[2],[001],[002],[1],[2]]
для одного столбца или [[1,1],[2,1],[001,1],[002,1],[1,1],[2,1]]
для нескольких столбцов
Конечный результат должен быть ... [[1],[2],[001],[002]]
или [[1,1],[2,1],[001,1],[002,1]]
, соответственно.
Последние два были отброшены, потому что они были дубликатами, и мне нужно это только один раз в массиве.
Вот что я пытаюсь но у меня возникают проблемы:
var array = sh.getRange(1,sh.getLastColumn(),sh.getLastRow(),1).getValues();
var uniqueArray = removeDuplicates(array)
function removeDuplicates(myArray){
var newArray = [];
myArray.forEach(function(x){
if(newArray.indexOf(x[0]) === -1){
newArray.push(x[0]);
}
});
}
Ошибка: массив возвращается как ноль, а затем, когда я пытаюсь получить uniqueArray.length, он выдаст мне TypeError: Cannot read property 'length' of undefined
Я также пробовал:
var uniqueArray = Array.from(new Set(array));
Кажется, что это будет менее обременительным, и мне нравится, но он возвращает все значения. Это не отбрасывает дубликаты.
Что я делаю не так и каков наилучший подход? Как я могу это исправить?