Mam ciąg oddzielony przecinkami, który chcę przekonwertować na tablicę, aby móc przez nią przechodzić.
Czy jest coś wbudowanego w to?
Na przykład mam ten ciąg
var str = "January,February,March,April,May,June,July,August,September,October,November,December";
teraz chcę podzielić to przecinkiem, a następnie zapisać go w tablicy.
javascript
string
split
Blankman
źródło
źródło
string.split(',');
Odpowiedzi:
Odwołanie MDN , głównie pomocne w przypadku nieoczekiwanego zachowania
limit
parametru. (Wskazówka:"a,b,c".split(",", 2)
wychodzi["a", "b"]
, nie["a", "b,c"]
.)źródło
string
ma bogactwo JavaString
.split
będzie działać dobrze, jeśli masz pewność, że masz elementyarray
, jeśli oczekujesz danych z serwera / bazy danych, napotkasz problemy, ponieważ''.split(',')
malength === 1
IE:''.split(',') === ['']
Uważaj, jeśli celujesz na liczby całkowite, takie jak 1,2,3,4,5. Jeśli zamierzasz używać elementów tablicy jako liczb całkowitych, a nie jako łańcuchów po podzieleniu łańcucha, rozważ konwersję na takie.
dodając taką pętlę
zwróci tablicę zawierającą liczby całkowite, a nie ciągi.
źródło
"001,002,003..."
). PorównajparseInt('010')
zparseInt('010', 10)
.map
funkcji można użyć do parsowania liczb całkowitych w jednym wierszu:str.split(',').map(parseInt)
Podział Hmm jest niebezpieczny, imho, ponieważ ciąg może zawsze zawierać przecinek, przestrzegaj następujących zasad:
Jak byś to zinterpretował? i jaki chcesz wynik? tablica z:
nawet jeśli unikniesz przecinka, miałbyś problem.
Szybko pogrzebałem to razem:
Możesz go używać / edytować :)
źródło
Metoda split () służy do dzielenia łańcucha na tablicę podciągów i zwraca nową tablicę.
źródło
var sampleTags = ['[email protected]']; console.log(sampleTags); $("#order_id").on("change", function() { var order_id = document.getElementById('order_id').value; $.ajax({url: "model/getUserMailIds.php",data:{order_id:order_id},type:'POST', success: function(result){ alert(result); var sampleTags = result.split(',');; console.log(sampleTags); }}); });
Pamiętaj, że:
zaalarmuje 1
źródło
Przekaż ciąg rozdzielany przecinkami do tej funkcji, a zwróci tablicę, a jeśli nie zostanie znaleziony ciąg rozdzielony przecinkami, zwróci null.
źródło
else { ResultArray = [CommaSepStr]; }
po drugimif
Funkcja powrotu
jego ciąg znaków i ciągi obiektów
JSFiddle https://jsfiddle.net/7ne9L4Lj/1/
źródło
var stringtext = "String, text, I, am"; var stringtextArray = (new Function("return [" + string text + "];")());
wynikiem jest: SyntaxError: Nieoczekiwany identyfikatorWiem, że na to pytanie udzielono odpowiedzi od dłuższego czasu, ale pomyślałem, że mój wkład byłby korzystny dla innych badających ten temat ...
Oto funkcja, która przekonwertuje ciąg znaków na tablicę, nawet jeśli na liście jest tylko jeden element (bez znaku separatora):
Użyj tego w ten sposób:
Stworzyłem tę funkcję, ponieważ
split
zgłasza błąd, jeśli w ciągu nie ma znaku separatora (tylko jeden element)źródło
'echo'.split(',')
zwraca['echo']
i''.split(',')
zwraca['']
. Państwo będzie się błąd jeśli zadzwoniszx.split(',')
, kiedyx
nie jest ciągiem znaków (w tym przypadkux
jest niezdefiniowane lub wartość null ), ponieważ nie jestsplit
dostępna dla innych typów funkcji.split
dla niezdefiniowanego obiektu, kiedy napisałem moją funkcję listToArray. Dzięki za zwrócenie na to uwagi ...Miałem podobny problem, ale bardziej skomplikowany, ponieważ musiałem przekształcić plik csv w tablicę tablic (każda linia to jeden element tablicy, który zawiera tablicę elementów podzieloną przecinkiem).
Najłatwiejszym rozwiązaniem (i bezpieczniej zakładam) było użycie PapaParse ( http://papaparse.com/ ), który ma opcję „bez nagłówka”, która przekształca csv w tablicę tablic, a ponadto automatycznie wykrył „ , ”jako mojego ogranicznika.
Dodatkowo jest zarejestrowany w altanie, więc musiałem tylko:
a następnie użyj go w moim kodzie w następujący sposób:
Naprawdę mi się podobało.
źródło
spowoduje to:
a jeśli chcesz przekonwertować następujące elementy na:
to:
posługiwać się:
źródło
dobre rozwiązanie
źródło
Tablica ciągów do łańcucha rozdzielanego przecinkami
źródło
możesz wypróbować następujący fragment kodu
źródło
Najkrótszy
Pokaż fragment kodu
źródło