0

Я пытаюсь передать массив значений методу сокращения URL-адресов и получить сокращенную форму URL-адреса, но проблема в том, что, хотя я получаю вывод, исключение бросание в блок catch (исключение: недопустимое значение). Я не знаю, почему это происходит. может кто-то, пожалуйста, поправьте меня, где я ошибаюсь, и это правильный способ сделать это? Мой код:
var lng = sheet.getRange(2, 1, sheet.getLastRow()).getValues(); try { for(var i in lng) { var url = UrlShortener.Url.insert({ longUrl: lng[i]}); Logger.log(url.id); } } catch(e) { Logger.log(e); }Передача значения массива методу сокращения URL-адресов при вызове исключения

ответ

0

, как вы имеете в виду lng[i] неправильно. Вы принимаете первое значение в одномерном массиве lng[i] как lng[i][0].

Внесены некоторые изменения в код. Попробуйте это

function shorturl() 
{ 
    var sheet = SpreadsheetApp.getActiveSheet(); 
    var lng = sheet.getRange(2, 1, sheet.getLastRow()).getValues(); 
    try 
    { 
     for(var i=0;i<lng.length; i++) 
     { 
     if(lng[i][0]) 
     { 
      var url = UrlShortener.Url.insert({ longUrl: lng[i][0]}); 
      Logger.log(url.id); 
     } 
     } 
    } 
    catch(e) 
    { 
     Logger.log(e); 
    } 
} 

Надеюсь, что это поможет!

+0

@kkr, его работа! Спасибо за помощь. Можете ли вы объяснить мне немного больше? – DinEsh

+0

В основном диапазон возвращает объект, в котором данные хранятся в виде 2-мерного массива, такого как матрица. Для извлечения значений из диапазона нам нужно пройти через диапазон. В первом цикле мы получаем первые значения строки объекта диапазона, поэтому 'lng [i]' будет Единым размерным массивом, даже если в этой строке есть только одно значение. Поэтому для получения первого значения нам нужно получить к ним доступ как «lng [i] [0]». Надеюсь, это тебе все объясняет. – KRR

+0

Спасибо за объяснение KKR. – DinEsh

 Смежные вопросы

  • Нет связанных вопросов^_^