如何在 JavaScript 中將字串轉換為字元陣列?


本教程將教會我們如何在 JavaScript 中將字串轉換為字元陣列。字串是字元的序列。要解決我們的問題,我們只需要將每個字元分割開來。

在 JavaScript 中,可以透過多種方法從字串建立字元陣列,一些內建方法可以解決我們的問題。在本教程的最後,我們還將學習手動將字串轉換為陣列的方法,即從字串中彈出單個字元並將其推入陣列。

本教程將介紹五種不同的將字串轉換為陣列的方法。所有方法都將逐一解釋,如下所示。

  • 使用 split( ) 方法

  • 使用 Array.from() 方法

  • 使用 Object.assign() 方法

  • 使用擴充套件運算子

  • 建立自定義函式

使用 split( ) 方法

正如我們在引言中討論的那樣,字串是字元的序列,我們只需要將每個字元**分割**開。**split()** 方法是 JavaScript 中的內建方法,可以實現此功能。我們將傳遞空字串作為分隔符,以便它可以將字串分割成字元並返回字元陣列

語法

下面給出 JavaScript 中 split() 方法的語法。

let string = "tutorialsPoint";
let charArray = string.split(delimiter)

引數

  • 分隔符 − 它是一個分隔符。在我們的例子中,我們將使用空字串來分隔每個字元。

示例

<html>
<head>
   <title> Example - Converting string to character array </title>
</head>
<body>
   <h2> Converting string to character array. </h2>
   <p> Using the string.split('') method to convert to the character array:</p>
   <div id="charArray"> </div>
   <script type="text/javascript">
      let charArray = document.getElementById("charArray");
      let string = "tutorialsPoint";
      let arrayOfChar = string.split(''); // passing empty string as a delimeter.
      charArray.innerHTML = '[ ' + arrayOfChar + ' ]';
   </script>
</body>
</html>

在上面的輸出中,使用者可以看到字串“tutorialsPoint”已轉換為字元陣列。

使用 Array.from() 方法

Array.from() 是 JavaScript 庫中的內建方法。字串是可迭代物件,Array.from() 將可迭代物件作為引數並返回其值的陣列。我們可以說,Array.from() 方法用於從我們作為引數傳遞的任何例項建立陣列。

語法

下面給出使用 Array.from() 方法的語法。

let str = "Example string";
let array = Array.from( str );

引數

  • str − 它可以是任何可迭代物件。字串也是可迭代的,因此這裡我們將傳遞一個字串作為引數,方法將返回字元陣列。

示例

<html>
<body>
   <h2> Converting string to character array </h2>
   <h4> Using the Array.from() method to convert to the character array:</h4>
   <div id="charArray"> </div>
   <script type="text/javascript">
      let array = document.getElementById("charArray");
      let str = " Example string ";
      let arrayOfChar = Array.from(str);
      array.innerHTML = '[ ' + arrayOfChar + ' ]';
   </script>
</body>
</html>

使用 Object.assign() 方法

將字串轉換為字元陣列的第三種方法是使用Object.assign()方法。它將內容從源物件複製到目標物件。這裡,我們將字串作為源物件,並將空陣列作為目標物件。

語法

使用者可以按照以下語法使用 Object.assign() 方法將字串的所有字元複製到空陣列中。

Let string = "Example";
Let array = Object.assign([ ], string );

示例

<html>
<body>
   <h2> Converting string to character array </h2>
   <h4> Using the Object.assing() method to convert to the character array:</h4>
   <div id="outputArray"> </div>
   <script type="text/javascript">
      let outputArray = document.getElementById("outputArray");
      let string = "Converting to the charater array. ";
      let array = Object.assign([], string);
      outputArray.innerHTML = '[ ' + array + ' ]';
   </script>
</body>
</html>

使用擴充套件運算子

在 JavaScript 中,擴充套件運算子是一個有趣的特性。擴充套件運算子的語法只是三個點 (...)。它允許使用者將整個可迭代物件或陣列克隆到另一個數組中。我們將建立一個空陣列,並將字串的所有字元使用擴充套件運算子包裝到空陣列中。

語法

let string = "This is a string.";
let array = [...string]; // using spread operator

示例

<!DOCTYPE html>
<html>
<body>
   <h2> Converting string to character array. </h2>
   <h4> Using the spread operator to convert to the character array: </h4>
   <div id="charArray"> </div>
   <script>
      let array = document.getElementById("charArray");
      let InitialString = "This is a string.";
      let charArray = [...InitialString];
      array.innerHTML = '[ ' + charArray + ' ]';
   </script>
</body>
</html>

建立自定義函式

在這種方法中,我們將建立一個空陣列。我們將使用 for 迴圈遍歷字串,並將字串的每個字元推入陣列。這樣,我們將從字串生成新的字元陣列。

語法

請按照以下語法實現自定義函式。

let array = [ ];
for ( let i=0; I < string.length; i++ ) {
   array.push ( string[i] );
}

示例

<!DOCTYPE html>
<html>
<body>
   <h2> Converting string to character array. </h2>
   <p> Using the for loop push the character one by one to char array: </p>
   <div id="outputArray"></div>
   <script>
      let outputArray = document.getElementById("outputArray");
      let string = "It's a string. ";
      let resultArray = []; // empty array

      // push the one by one character from the string to array using for loop.
      for (let i = 0; i < string.length; i++) {
         resultArray.push(string[i]);
      }
      outputArray.innerHTML = '[ ' + resultArray + ' ]';
   </script>
</body>
</html>

結論

我們學習了五種將字串轉換為字元陣列的方法。使用 split() 方法的第一種方法是最流行的。在最後一種方法中,我們透過使用 for 迴圈和空陣列實現了我們的目標,這是最慢的方法。

更新於: 2022-07-25

6K+ 瀏覽量

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告