Не могу разделить запятые из списка - PullRequest
0 голосов
/ 13 ноября 2018

У меня похожий список: list = [', 99', ', 48', ', 48', ', 44', ', 80', ', 82', ', 88', ', 90', '1,1']

Я просто хочу число справа от запятой, но когда я пытаюсь разделить:

newList = list.split (',')

Я получаю:

AttributeError: у объекта 'list' нет атрибута 'split'

1 Ответ

0 голосов
/ 13 ноября 2018

здесь разделение не будет работать, потому что метод javascript .split() предназначен для преобразования строки в массив, а здесь list является объектом.Вы можете попробовать console.log(typeof variable);, чтобы проверить тип любой переменной.Так что здесь вы можете просто использовать функцию jquery .each() наиболее распространенную функцию, используемую для обхода объекта javascript.

Попробуйте следующее решение:

var list = [',99', ',48', ',48', ',44', ',80', ',82', ',88', ',90', '1,1'];
var new_list = [];
$(list).each(function( index, item ) {
    var item_array = item.split(',');
    $(item_array).each(function( i, num ) {
        if(num && num != '' && typeof num != 'undefined'){
            new_list.push(num);
        }
    });
});

, затем используйте new_list вместо list, поскольку он будет содержатьжелаемый вывод:

["99", "48", "48", "44", "80", "82", "88", "90", "1", "1"]

ИЛИ можно попробовать альтернативным способом:

var list = [',99', ',48', ',48', ',44', ',80', ',82', ',88', ',90', '1,1'];
var list_str = list.toString();
list = list_str.split(',');
list = list.filter(function(item){
          if(!!item){
            return item;
          }
        });
...