У меня есть столбец с набором чисел, которые я готовлю для запроса. Некоторые из этих чисел имеют лидирующие нули, и мне нужно будет сохранить их в списке с лидирующими нулями и без лидирующих нулей.
До сих пор я создал столбец значений с лидирующими и без лидирующих нулей. , Вот пример массива, когда я getValues
в столбце.
[[1],[2],[001],[002],[1],[2]]
Конечный результат должен быть ... [[1],[2],[001],[002]]
Последний два были отброшены, потому что они были дубликатами, и мне нужно только один раз в массиве.
Вот то, что я пытаюсь, но у меня возникают проблемы:
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));
Кажется, что это будет менее обременительным, и я нравится, но возвращает все значения. Это не отбрасывает дубликаты.
Что я делаю не так и каков наилучший подход? Как я могу это исправить?