Tento krátký tutoriál vám ukáže dva způsoby, jak převést pole JavaScriptu na řetězce pomocí metod toString() a join().
Co jsou pole?
Pole je datová struktura, která obsahuje více hodnot. Je to jako očíslovaný seznam – každá položka v poli má hodnotu a pozici (tzv. index ). indexy začněte počítat na pozici 0 , takže první položka v poli je na indexu 0 , druhý na indexu 1 a tak dále.
Převod polí na řetězce v JavaScriptu
Existuje mnoho důvodů, proč můžete chtít převést pole na řetězec. Nejčastěji můžete chtít zobrazit pole a jeho obsah jako prostý text na webové stránce.
Pole JavaScriptu mohou obsahovat jakýkoli typ hodnoty – řetězce, čísla, objekty – takže při převodu pole na řetězec budete muset mít na paměti, jak budou hodnoty v poli po převedení také vypadat.
Metoda Array toString()
Funkce toString() metoda vrací řetězcovou reprezentaci pole a jeho obsahu.
Syntaxe je následující:
array.toString()
Všimněte si, že:
- pole může být jakákoli proměnná pole
- Vrátí se řetězcová reprezentace pole
- Hodnoty v poli budou odděleny čárkami ve výsledném řetězci
- Původní pole se nemění voláním toString()
Příklady pole toString()
var myArray = ["dog", "cat", "mouse"]; var myString = myArray.toString(); console.log(myString);
Výše uvedený kód vypíše do konzole následující:
dog,cat,mouse
Hodnoty pole jsou odděleny čárkami .
Níže je několik různých typů proměnných uložených v poli před převodem na řetězec, abyste viděli, jak budou vypadat řetězcové reprezentace těchto objektů:
var myArray = ["bird", 1, false, new Date(), {foo: "bar"}]; var myString = myArray.toString(); console.log(myString);
Což vypíše:
bird,1,false,Wed Nov 10 2021 22:02:23 GMT+0000 (Greenwich Mean Time),[object Object]
Všimněte si, že řetězec a číselné hodnoty vypadají podle očekávání a že booleovská hodnota byla také převedena na text.
Zajímavější jsou poslední dvě položky v poli.
Datum objekt má svou vlastní toString() vestavěná metoda, která byla zavolána, aby jej převedla na řetězec pro zahrnutí do stringovaného pole.
Obecný objekt ({foo:„bar“} ) nemá toString() metoda – a tedy její řetězcová reprezentace je obecný identifikátor objektu.
Metoda Array join()
The join() metoda funguje podobně jako toString() metoda, přičemž vám umožňuje volitelně určit, který znak bude použit k oddělení položek pole ve výsledném řetězci.
Syntaxe je následující:
array.join(SEPARATOR)
Všimněte si, že:
- pole může být jakákoli proměnná pole
- Vrátí se řetězcová reprezentace pole
- Hodnoty v poli budou odděleny čárkami ve výsledném řetězci
- POKUD nepovinný SEPARATOR je definován
- Původní pole se nemění voláním join()
Příklady pole join()
var myArray = ["dog", "cat", "mouse"]; var myString = myArray.join(); console.log(myString);
Výše uvedený kód vypíše do konzole následující:
dog,cat,mouse
Všimněte si výchozího odděleného čárkou hodnoty. Můžete zadat jiný oddělovač (nebo žádný oddělovač):
var myArray = ["dog", "cat", "mouse"]; var myString = myArray.join('-'); console.log(myString);
Což se vrátí:
dog-cat-mouse
Nebo bez oddělovače (zadaného prázdným řetězcem):
var myArray = ["dog", "cat", "mouse"]; var myString = myArray.join(''); console.log(myString);
Což se vrátí:
dogcatmouse
Chování při práci s neřetězcovými hodnotami je stejné jako u toString() , popsaný výše:
var myArray = ["bird", 1, false, new Date(), {foo: "bar"}]; var myString = myArray.join(); console.log(myString);
Výsledkem je následující výstup:
bird,1,false,Wed Nov 10 2021 22:02:23 GMT+0000 (Greenwich Mean Time),[object Object]