在 JavaScript 中將陣列轉換為字串
-
在 JavaScript 中使用
toString()
方法將陣列轉換為字串 -
在 JavaScript 中使用
.join()
方法連線陣列的元素 -
在 JavaScript 中使用
JSON.stringify()
將陣列轉換為字串 - 在 JavaScript 中使用型別強制將陣列轉換為字串
陣列是你在日常程式設計生活中可能使用的最常見和最靈活的資料結構。由於你可以使用 JavaScript 程式語言提供的大量陣列方法,因此你可以輕鬆地運算元組並執行你想要執行的任何操作。
同樣,在預定義方法的幫助下並遵循一些其他方式,也可以輕鬆地將陣列轉換為字串。在本文中,我們將看到將整個陣列資料結構(即該陣列中存在的所有元素)轉換為單個字串的不同方法。
在 JavaScript 中使用 toString()
方法將陣列轉換為字串
將陣列轉換為字串的最簡單方法是使用 JavaScript 中名為 toString()
的預定義方法。此方法不僅適用於陣列,還適用於各種其他資料型別。幾乎任何東西都可以使用 toString()
轉換為字串。
你可以將它新增到陣列的末尾以使用此方法,如下所示。它將獲取該陣列中的所有元素並將它們連線為單個字串。
var arr = ['Google', 'is', 'no', '1', 'search engine'].toString();
console.log(arr);
輸出:
"Google,is,no,1,search engine"
在這裡,如果你看到輸出,它是一個字串,但以逗號分隔。現在,如果你想從上面的字串中刪除逗號,你可以使用 replace()
方法,如下所示。replace()
方法有兩個引數。第一個引數是需要替換的字元本身(在這種情況下,逗號,用/,
表示),第二個引數決定用什麼來替換字元(在這種情況下是空格)。/
是轉義字元。
arr.replace(/,/g," ")
輸出:
"Google is no 1 search engine"
在這種情況下,我們希望從字串中刪除所有逗號,用 /g
表示。
在 JavaScript 中使用 .join()
方法連線陣列的元素
另一種將陣列轉換為字串的方法是使用 join()
方法。此方法將從陣列中取出每個元素並一起形成一個字串。在這裡,如果直接將此方法用於類似於 toString()
的陣列,它也會生成一個以逗號分隔的字串。
但是在這裡,你不需要使用任何其他方法,例如 replace()
,因為你可以直接傳遞任何其他分隔符作為引數來分隔字串中的元素。
var arr_1 = ['Google', 'is', 'no', '1', 'search engine'].join();
var arr_2 = ['Google', 'is', 'no', '1', 'search engine'].join("-");
var arr_3 = ['Google', 'is', 'no', '1', 'search engine'].join("##space##");
console.log(arr_1);
console.log(arr_2);
console.log(arr_3);
輸出:
"Google,is,no,1,search engine"
"Google-is-no-1-search engine"
"Google##space##is##space##no##space##1##space##search engine"
在 JavaScript 中使用 JSON.stringify()
將陣列轉換為字串
JSON.stringify()
方法允許你將任何 JavaScript 物件或值轉換為字串。這更乾淨,因為它引用陣列內的字串並正確處理巢狀陣列。此方法最多可以採用以下三個引數。
JSON.stringify(value, replacer, space)
value
引數採用任何需要轉換為字串的值。該引數是必須通過的。replacer
是一個函式,你可以通過它來替換字串中的某些元素。如果你想在輸出字串中新增空格以提高可讀性,你可以使用 space
引數。replacer
和 space
這兩個引數都是可選的。
var arr = JSON.stringify(['Google', 'is', 'no', '1', 'search engine']);
console.log(arr);
輸出:
"[\"Google\",\"is\",\"no\",\"1\",\"search engine\"]"
在上面的例子中,我們肯定要使用替換函式,因為我們上面得到的輸出是不可讀的。JSON.stringify()
方法直接獲取陣列的各個元素並將它們轉換為字串,包括其結構。
在 JavaScript 中使用型別強制將陣列轉換為字串
將陣列轉換為字串的最後一種方法是使用型別強制。型別強制是將值從一種型別轉換為另一種型別的過程。JavaScript 中有兩種型別的強制轉換,隱式強制和顯式強制。
隱式強制是當你將各種運算子(+、-、’ ‘、/ 等)應用於不同型別的值時,顯式強制是當你使用諸如 String()
、Number()
之類的函式時。兩種型別強制的示例如下所示。
var str_1 = ['This', 'is', 11, 'clock'] + '';
var str_2 = String(['This', 'is', 11, 'clock']);
console.log(str_1);
console.log(str_2);
輸出:
This,is,11,clock
This,is,11,clock
str_1
是隱式強制轉換的一個例子,我們只是在兩種不同型別的值(一個是陣列,另一個是字串)之間使用運算子。此操作的結果輸出是一個字串。str_2
是顯式強制轉換的一個例子,我們剛剛在 String()
函式中傳遞了整個陣列,以將陣列轉換為字串。