из строк с двойными кавычками в массив

#javascript #jquery

#javascript #jquery

Вопрос:

 "one"
"two"
"three"
  

Выше приведен вывод из ajax. Как я могу преобразовать их в массив?

 ["one","two","three"]
  

Я пробовал push() и split, но результат всегда [«один»] [«два»] [«три»]

 $(function() {
    $.ajax({
        type: "GET",
        dataType: 'jsonp',
        url: 'https://spreadsheets.google.com/feeds/list/1VC633BXpMElJjRWvIRuZIP7UrEhuw6BdscnrV2heox0/1/public/full?alt=json',
        success: function(data) {
            var entry = data.feed.entry;
        //console.log(entry);
    for (var x in entry) {
      numbers = entry[x].gsx$numbers.$t;
      aaa = numbers.split();
      console.log(aaa); 
    }

        }
    })
});  
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>  

Спасибо за вашу помощь…

Комментарии:

1. Пожалуйста, покажите строку. И использования split будет достаточно

Ответ №1:

Объяснение: [... ] преобразует entry в массив. Используя map функцию, возвращает все это strings . Однако они могут включать empty strings . Вот почему я использовал filter , который отфильтровывает strings с ненулевой длиной и присваивает результирующему массиву arr 🙂

 $(function() {
  $.ajax({
    type: "GET",
    dataType: 'jsonp',
    url: 'https://spreadsheets.google.com/feeds/list/1VC633BXpMElJjRWvIRuZIP7UrEhuw6BdscnrV2heox0/1/public/full?alt=json',
    success: function(data) {
      var entry = data.feed.entry;
      
      var arr = [...entry].map((el)=>{
        return el.gsx$numbers.$t;
      }).filter((el) => {
        return el.trim();
      });
      console.log(arr);
    }
  })
});  
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>